Added support for handling unpredictable arithmetic instructions on ARM.
llvm-svn: 154100
This commit is contained in:
		
							parent
							
								
									7fdf9ef15d
								
							
						
					
					
						commit
						d365397daa
					
				| 
						 | 
					@ -3244,6 +3244,8 @@ class AAI<bits<8> op27_20, bits<8> op11_4, string opc,
 | 
				
			||||||
  let Inst{19-16} = Rn;
 | 
					  let Inst{19-16} = Rn;
 | 
				
			||||||
  let Inst{15-12} = Rd;
 | 
					  let Inst{15-12} = Rd;
 | 
				
			||||||
  let Inst{3-0}   = Rm;
 | 
					  let Inst{3-0}   = Rm;
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  let Unpredictable{11-8} = 0b1111;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Saturating add/subtract
 | 
					// Saturating add/subtract
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,12 +0,0 @@
 | 
				
			||||||
# RUN: llvm-mc --disassemble %s -triple=arm-apple-darwin9 |& grep {invalid instruction encoding}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Opcode=0 Name=PHI Format=(42)
 | 
					 | 
				
			||||||
#  31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0
 | 
					 | 
				
			||||||
# -------------------------------------------------------------------------------------------------
 | 
					 | 
				
			||||||
# | 1: 1: 1: 0| 0: 1: 1: 0| 0: 0: 1: 1| 0: 1: 1: 1| 0: 1: 0: 1| 0: 0: 0: 1| 0: 0: 0: 1| 0: 0: 0: 0|
 | 
					 | 
				
			||||||
# -------------------------------------------------------------------------------------------------
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# The bytes have Inst{4} = 1, so it's not an LDRT Encoding A2 instruction.
 | 
					 | 
				
			||||||
0x10 0x51 0x37 0xe6
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,7 @@
 | 
				
			||||||
 | 
					# RUN: llvm-mc --disassemble %s -triple=arm-apple-darwin9 |& FileCheck %s
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# CHECK: warning: potentially undefined
 | 
				
			||||||
 | 
					# CHECK: shadd16	r5, r7, r0
 | 
				
			||||||
 | 
					0x10 0x51 0x37 0xe6
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue