237 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
			
		
		
	
	
			237 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
# RUN: llvm-mc %s -triple=riscv64 -riscv-no-aliases -show-encoding \
 | 
						|
# RUN:     | FileCheck -check-prefixes=CHECK-INST,CHECK-ENC %s
 | 
						|
# RUN: llvm-mc -filetype=obj -triple riscv64 < %s \
 | 
						|
# RUN:     | llvm-objdump -d - \
 | 
						|
# RUN:     | FileCheck -check-prefix=CHECK-INST-ALIAS %s
 | 
						|
 | 
						|
# These user mode CSR register names are RV32 only, but RV64
 | 
						|
# can encode and disassemble these registers if given their value.
 | 
						|
 | 
						|
##################################
 | 
						|
# User Counter and Timers
 | 
						|
##################################
 | 
						|
 | 
						|
# cycleh
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3200, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0x00,0xc8]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3200
 | 
						|
csrrs t2, 0xC80, zero
 | 
						|
 | 
						|
# timeh
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3201, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0x10,0xc8]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3201
 | 
						|
csrrs t2, 0xC81, zero
 | 
						|
 | 
						|
# instreth
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3202, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0x20,0xc8]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3202
 | 
						|
csrrs t2, 0xC82, zero
 | 
						|
 | 
						|
# hpmcounter3h
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3203, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0x30,0xc8]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3203
 | 
						|
csrrs t2, 0xC83, zero
 | 
						|
 | 
						|
# hpmcounter4h
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3204, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0x40,0xc8]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3204
 | 
						|
csrrs t2, 0xC84, zero
 | 
						|
 | 
						|
# hpmcounter5h
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3205, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0x50,0xc8]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3205
 | 
						|
csrrs t2, 0xC85, zero
 | 
						|
 | 
						|
# hpmcounter6h
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3206, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0x60,0xc8]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3206
 | 
						|
csrrs t2, 0xC86, zero
 | 
						|
 | 
						|
# hpmcounter7h
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3207, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0x70,0xc8]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3207
 | 
						|
csrrs t2, 0xC87, zero
 | 
						|
 | 
						|
# hpmcounter8h
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3208, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0x80,0xc8]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3208
 | 
						|
csrrs t2, 0xC88, zero
 | 
						|
 | 
						|
# hpmcounter9h
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3209, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0x90,0xc8]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3209
 | 
						|
csrrs t2, 0xC89, zero
 | 
						|
 | 
						|
# hpmcounter10h
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3210, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0xa0,0xc8]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3210
 | 
						|
csrrs t2, 0xC8A, zero
 | 
						|
 | 
						|
# hpmcounter11h
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3211, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0xb0,0xc8]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3211
 | 
						|
csrrs t2, 0xC8B, zero
 | 
						|
 | 
						|
# hpmcounter12h
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3212, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0xc0,0xc8]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3212
 | 
						|
csrrs t2, 0xC8C, zero
 | 
						|
 | 
						|
# hpmcounter13h
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3213, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0xd0,0xc8]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3213
 | 
						|
csrrs t2, 0xC8D, zero
 | 
						|
 | 
						|
# hpmcounter14h
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3214, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0xe0,0xc8]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3214
 | 
						|
csrrs t2, 0xC8E, zero
 | 
						|
 | 
						|
# hpmcounter15h
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3215, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0xf0,0xc8]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3215
 | 
						|
csrrs t2, 0xC8F, zero
 | 
						|
 | 
						|
# hpmcounter16h
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3216, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0x00,0xc9]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3216
 | 
						|
csrrs t2, 0xC90, zero
 | 
						|
 | 
						|
# hpmcounter17h
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3217, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0x10,0xc9]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3217
 | 
						|
csrrs t2, 0xC91, zero
 | 
						|
 | 
						|
# hpmcounter18h
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3218, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0x20,0xc9]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3218
 | 
						|
csrrs t2, 0xC92, zero
 | 
						|
 | 
						|
# hpmcounter19h
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3219, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0x30,0xc9]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3219
 | 
						|
csrrs t2, 0xC93, zero
 | 
						|
 | 
						|
# hpmcounter20h
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3220, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0x40,0xc9]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3220
 | 
						|
csrrs t2, 0xC94, zero
 | 
						|
 | 
						|
# hpmcounter21h
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3221, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0x50,0xc9]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3221
 | 
						|
csrrs t2, 0xC95, zero
 | 
						|
 | 
						|
# hpmcounter22h
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3222, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0x60,0xc9]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3222
 | 
						|
csrrs t2, 0xC96, zero
 | 
						|
 | 
						|
# hpmcounter23h
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3223, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0x70,0xc9]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3223
 | 
						|
csrrs t2, 0xC97, zero
 | 
						|
 | 
						|
# hpmcounter24h
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3224, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0x80,0xc9]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3224
 | 
						|
csrrs t2, 0xC98, zero
 | 
						|
 | 
						|
# hpmcounter25h
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3225, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0x90,0xc9]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3225
 | 
						|
csrrs t2, 0xC99, zero
 | 
						|
 | 
						|
# hpmcounter26h
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3226, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0xa0,0xc9]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3226
 | 
						|
csrrs t2, 0xC9A, zero
 | 
						|
 | 
						|
# hpmcounter27h
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3227, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0xb0,0xc9]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3227
 | 
						|
csrrs t2, 0xC9B, zero
 | 
						|
 | 
						|
# hpmcounter28h
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3228, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0xc0,0xc9]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3228
 | 
						|
csrrs t2, 0xC9C, zero
 | 
						|
 | 
						|
# hpmcounter29h
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3229, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0xd0,0xc9]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3229
 | 
						|
csrrs t2, 0xC9D, zero
 | 
						|
 | 
						|
# hpmcounter30h
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3230, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0xe0,0xc9]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3230
 | 
						|
csrrs t2, 0xC9E, zero
 | 
						|
 | 
						|
# hpmcounter31h
 | 
						|
# uimm12
 | 
						|
# CHECK-INST: csrrs t2, 3231, zero
 | 
						|
# CHECK-ENC:  encoding: [0xf3,0x23,0xf0,0xc9]
 | 
						|
# CHECK-INST-ALIAS: csrr t2, 3231
 | 
						|
csrrs t2, 0xC9F, zero
 |