61 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
| // RUN: llvm-mc -triple aarch64-none-linux-gnu -mattr=+neon -show-encoding < %s | FileCheck %s
 | |
| 
 | |
| // Check that the assembler can handle the documented syntax for AArch64
 | |
| 
 | |
| //------------------------------------------------------------------------------
 | |
| // Vector And
 | |
| //------------------------------------------------------------------------------
 | |
|          and v0.8b, v1.8b, v2.8b
 | |
|          and v0.16b, v1.16b, v2.16b
 | |
| 
 | |
| // CHECK: and v0.8b, v1.8b, v2.8b        // encoding: [0x20,0x1c,0x22,0x0e]
 | |
| // CHECK: and v0.16b, v1.16b, v2.16b     // encoding: [0x20,0x1c,0x22,0x4e]
 | |
| 
 | |
| 
 | |
| //------------------------------------------------------------------------------
 | |
| // Vector Orr
 | |
| //------------------------------------------------------------------------------
 | |
|          orr v0.8b, v1.8b, v2.8b
 | |
|          orr v0.16b, v1.16b, v2.16b
 | |
| 
 | |
| // CHECK: orr v0.8b, v1.8b, v2.8b        // encoding: [0x20,0x1c,0xa2,0x0e]
 | |
| // CHECK: orr v0.16b, v1.16b, v2.16b     // encoding: [0x20,0x1c,0xa2,0x4e]
 | |
| 
 | |
| 
 | |
| //------------------------------------------------------------------------------
 | |
| // Vector Eor
 | |
| //------------------------------------------------------------------------------
 | |
|          eor v0.8b, v1.8b, v2.8b
 | |
|          eor v0.16b, v1.16b, v2.16b
 | |
| 
 | |
| // CHECK: eor v0.8b, v1.8b, v2.8b        // encoding: [0x20,0x1c,0x22,0x2e]
 | |
| // CHECK: eor v0.16b, v1.16b, v2.16b     // encoding: [0x20,0x1c,0x22,0x6e]
 | |
| 
 | |
| 
 | |
| //----------------------------------------------------------------------
 | |
| // Vector Bitwise
 | |
| //----------------------------------------------------------------------
 | |
| 
 | |
|          bit v0.8b, v1.8b, v2.8b
 | |
|          bit v0.16b, v1.16b, v2.16b
 | |
|          bif v0.8b, v1.8b, v2.8b
 | |
|          bif v0.16b, v1.16b, v2.16b
 | |
|          bsl v0.8b, v1.8b, v2.8b
 | |
|          bsl v0.16b, v1.16b, v2.16b
 | |
|          orn v0.8b, v1.8b, v2.8b
 | |
|          orn v0.16b, v1.16b, v2.16b
 | |
|          bic v0.8b, v1.8b, v2.8b
 | |
|          bic v0.16b, v1.16b, v2.16b
 | |
| 
 | |
| // CHECK: bit v0.8b, v1.8b, v2.8b        // encoding: [0x20,0x1c,0xa2,0x2e]
 | |
| // CHECK: bit v0.16b, v1.16b, v2.16b     // encoding: [0x20,0x1c,0xa2,0x6e]
 | |
| // CHECK: bif v0.8b, v1.8b, v2.8b        // encoding: [0x20,0x1c,0xe2,0x2e]
 | |
| // CHECK: bif v0.16b, v1.16b, v2.16b     // encoding: [0x20,0x1c,0xe2,0x6e]
 | |
| // CHECK: bsl v0.8b, v1.8b, v2.8b        // encoding: [0x20,0x1c,0x62,0x2e]
 | |
| // CHECK: bsl v0.16b, v1.16b, v2.16b     // encoding: [0x20,0x1c,0x62,0x6e]
 | |
| // CHECK: orn v0.8b, v1.8b, v2.8b        // encoding: [0x20,0x1c,0xe2,0x0e]
 | |
| // CHECK: orn v0.16b, v1.16b, v2.16b     // encoding: [0x20,0x1c,0xe2,0x4e]
 | |
| // CHECK: bic v0.8b, v1.8b, v2.8b        // encoding: [0x20,0x1c,0x62,0x0e]
 | |
| // CHECK: bic v0.16b, v1.16b, v2.16b     // encoding: [0x20,0x1c,0x62,0x4e]
 | |
| 
 |