You've already forked linux-packaging-mono
							
							
		
			
	
	
		
			146 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
		
		
			
		
	
	
			146 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
|   | # RUN: llvm-mc %s -triple=riscv32 -riscv-no-aliases \ | ||
|  | # RUN:     | FileCheck -check-prefix=CHECK-INST %s | ||
|  | # RUN: llvm-mc %s -triple=riscv32 \ | ||
|  | # RUN:     | FileCheck -check-prefix=CHECK-ALIAS %s | ||
|  | # RUN: llvm-mc %s -triple=riscv64 -riscv-no-aliases\ | ||
|  | # RUN:     | FileCheck -check-prefix=CHECK-INST %s | ||
|  | # RUN: llvm-mc %s -triple=riscv64 \ | ||
|  | # RUN:     | FileCheck -check-prefix=CHECK-ALIAS %s | ||
|  | # RUN: llvm-mc -filetype=obj -triple riscv32 < %s \ | ||
|  | # RUN:     | llvm-objdump -d -riscv-no-aliases - \ | ||
|  | # RUN:     | FileCheck -check-prefix=CHECK-INST %s | ||
|  | # RUN: llvm-mc -filetype=obj -triple riscv32 < %s \ | ||
|  | # RUN:     | llvm-objdump -d - \ | ||
|  | # RUN:     | FileCheck -check-prefix=CHECK-ALIAS %s | ||
|  | # RUN: llvm-mc -filetype=obj -triple riscv64 < %s \ | ||
|  | # RUN:     | llvm-objdump -d -riscv-no-aliases - \ | ||
|  | # RUN:     | FileCheck -check-prefix=CHECK-INST %s | ||
|  | # RUN: llvm-mc -filetype=obj -triple riscv64 < %s \ | ||
|  | # RUN:     | llvm-objdump -d - \ | ||
|  | # RUN:     | FileCheck -check-prefix=CHECK-ALIAS %s | ||
|  | 
 | ||
|  | # TODO la | ||
|  | # TODO lb lh lw | ||
|  | # TODO sb sh sw | ||
|  | 
 | ||
|  | # CHECK-INST: addi zero, zero, 0 | ||
|  | # CHECK-ALIAS: nop | ||
|  | nop | ||
|  | # TODO li | ||
|  | # CHECK-INST: addi t6, zero, 0 | ||
|  | # CHECK-ALIAS: mv t6, zero | ||
|  | mv x31, zero | ||
|  | # CHECK-INST: xori t6, ra, -1 | ||
|  | # CHECK-ALIAS: not t6, ra | ||
|  | not x31, x1 | ||
|  | # CHECK-INST: sub t6, zero, ra | ||
|  | # CHECK-ALIAS: neg t6, ra | ||
|  | neg x31, x1 | ||
|  | # CHECK-INST: sltiu t6, ra, 1 | ||
|  | # CHECK-ALIAS: seqz t6, ra | ||
|  | seqz x31, x1 | ||
|  | # CHECK-INST: sltu t6, zero, ra | ||
|  | # CHECK-ALIAS: snez t6, ra | ||
|  | snez x31, x1 | ||
|  | # CHECK-INST: slt t6, ra, zero | ||
|  | # CHECK-ALIAS: sltz t6, ra | ||
|  | sltz x31, x1 | ||
|  | # CHECK-INST: slt t6, zero, ra | ||
|  | # CHECK-ALIAS: sgtz t6, ra | ||
|  | sgtz x31, x1 | ||
|  | 
 | ||
|  | # CHECK-INST: beq a0, zero, 512 | ||
|  | # CHECK-ALIAS: beqz a0, 512 | ||
|  | beqz x10, 512 | ||
|  | # CHECK-INST: bne a1, zero, 1024 | ||
|  | # CHECK-ALIAS: bnez a1, 1024 | ||
|  | bnez x11, 1024 | ||
|  | # CHECK-INST: bge zero, a2, 4 | ||
|  | # CHECK-ALIAS: blez a2, 4 | ||
|  | blez x12, 4 | ||
|  | # CHECK-INST: bge a3, zero, 8 | ||
|  | # CHECK-ALIAS: bgez a3, 8 | ||
|  | bgez x13, 8 | ||
|  | # CHECK-INST: blt a4, zero, 12 | ||
|  | # CHECK-ALIAS: bltz a4, 12 | ||
|  | bltz x14, 12 | ||
|  | # CHECK-INST: blt zero, a5, 16 | ||
|  | # CHECK-ALIAS: bgtz a5, 16 | ||
|  | bgtz x15, 16 | ||
|  | 
 | ||
|  | # Always output the canonical mnemonic for the pseudo branch instructions. | ||
|  | # CHECK-INST: blt a6, a5, 20 | ||
|  | # CHECK-ALIAS: blt a6, a5, 20 | ||
|  | bgt x15, x16, 20 | ||
|  | # CHECK-INST: bge a7, a6, 24 | ||
|  | # CHECK-ALIAS: bge a7, a6, 24 | ||
|  | ble x16, x17, 24 | ||
|  | # CHECK-INST: bltu s2, a7, 28 | ||
|  | # CHECK-ALIAS: bltu s2, a7, 28 | ||
|  | bgtu x17, x18, 28 | ||
|  | # CHECK-INST: bgeu s3, s2, 32 | ||
|  | # CHECK-ALIAS: bgeu s3, s2, 32 | ||
|  | bleu x18, x19, 32 | ||
|  | 
 | ||
|  | # CHECK-INST: jal zero, 2044 | ||
|  | # CHECK-ALIAS: j 2044 | ||
|  | j 2044 | ||
|  | # CHECK-INST: jal ra, 2040 | ||
|  | # CHECK-ALIAS: jal 2040 | ||
|  | jal 2040 | ||
|  | # CHECK-INST: jalr zero, s4, 0 | ||
|  | # CHECK-ALIAS: jr s4 | ||
|  | jr x20 | ||
|  | # CHECK-INST: jalr ra, s5, 0 | ||
|  | # CHECK-ALIAS: jalr s5 | ||
|  | jalr x21 | ||
|  | # CHECK-INST: jalr zero, ra, 0 | ||
|  | # CHECK-ALIAS: ret | ||
|  | ret | ||
|  | # TODO call | ||
|  | # TODO tail | ||
|  | 
 | ||
|  | # CHECK-INST: fence iorw, iorw | ||
|  | # CHECK-ALIAS: fence | ||
|  | fence | ||
|  | 
 | ||
|  | # CHECK-INST: csrrs s10, 3074, zero | ||
|  | # CHECK-ALIAS: rdinstret s10 | ||
|  | rdinstret x26 | ||
|  | # CHECK-INST: csrrs s8, 3072, zero | ||
|  | # CHECK-ALIAS: rdcycle s8 | ||
|  | rdcycle x24 | ||
|  | # CHECK-INST: csrrs s9, 3073, zero | ||
|  | # CHECK-ALIAS: rdtime s9 | ||
|  | rdtime x25 | ||
|  | 
 | ||
|  | # CHECK-INST: csrrs  s0, 336, zero | ||
|  | # CHECK-ALIAS: csrr s0, 336 | ||
|  | csrr x8, 0x150 | ||
|  | # CHECK-INST: csrrw zero, 320, s1 | ||
|  | # CHECK-ALIAS: csrw 320, s1 | ||
|  | csrw 0x140, x9 | ||
|  | # CHECK-INST: csrrs zero, 4095, s6 | ||
|  | # CHECK-ALIAS: csrs 4095, s6 | ||
|  | csrs 0xfff, x22 | ||
|  | # CHECK-INST: csrrc zero, 4095, s7 | ||
|  | # CHECK-ALIAS: csrc 4095, s7 | ||
|  | csrc 0xfff, x23 | ||
|  | 
 | ||
|  | # CHECK-INST: csrrwi zero, 336, 15 | ||
|  | # CHECK-ALIAS: csrwi 336, 15 | ||
|  | csrwi 0x150, 0xf | ||
|  | # CHECK-INST: csrrsi zero, 4095, 16 | ||
|  | # CHECK-ALIAS: csrsi 4095, 16 | ||
|  | csrsi 0xfff, 0x10 | ||
|  | # CHECK-INST: csrrci zero, 320, 17 | ||
|  | # CHECK-ALIAS: csrci 320, 17 | ||
|  | csrci 0x140, 0x11 | ||
|  | 
 | ||
|  | # CHECK-INST: sfence.vma zero, zero | ||
|  | # CHECK-ALIAS: sfence.vma | ||
|  | sfence.vma | ||
|  | # CHECK-INST: sfence.vma a0, zero | ||
|  | # CHECK-ALIAS: sfence.vma a0 | ||
|  | sfence.vma a0 |