57 lines · plain
1## Test valid misc instructions.2 3# RUN: llvm-mc %s --triple=loongarch32 --show-encoding \4# RUN: | FileCheck --check-prefixes=CHECK-ASM,CHECK-ASM-AND-OBJ %s5# RUN: llvm-mc %s --triple=loongarch64 --show-encoding --defsym=LA64=1 \6# RUN: | FileCheck --check-prefixes=CHECK-ASM,CHECK-ASM-AND-OBJ,CHECK64-ASM,CHECK64-ASM-AND-OBJ %s7# RUN: llvm-mc %s --triple=loongarch32 --filetype=obj | llvm-objdump -d - \8# RUN: | FileCheck --check-prefix=CHECK-ASM-AND-OBJ %s9# RUN: llvm-mc %s --triple=loongarch64 --filetype=obj --defsym=LA64=1 | llvm-objdump -d - \10# RUN: | FileCheck --check-prefixes=CHECK-ASM-AND-OBJ,CHECK64-ASM-AND-OBJ %s11 12#############################################################13## Instructions for both loongarch32 and loongarch6414#############################################################15 16# CHECK-ASM-AND-OBJ: syscall 10017# CHECK-ASM: encoding: [0x64,0x00,0x2b,0x00]18syscall 10019 20# CHECK-ASM-AND-OBJ: break 19921# CHECK-ASM: encoding: [0xc7,0x00,0x2a,0x00]22break 19923 24# CHECK-ASM-AND-OBJ: rdtimel.w $s1, $a025# CHECK-ASM: encoding: [0x98,0x60,0x00,0x00]26rdtimel.w $s1, $a027 28# CHECK-ASM-AND-OBJ: rdtimeh.w $a7, $a129# CHECK-ASM: encoding: [0xab,0x64,0x00,0x00]30rdtimeh.w $a7, $a131 32# CHECK-ASM-AND-OBJ: cpucfg $sp, $a433# CHECK-ASM: encoding: [0x03,0x6d,0x00,0x00]34cpucfg $sp, $a435 36 37#############################################################38## Instructions only for loongarch6439#############################################################40 41.ifdef LA6442 43# CHECK64-ASM-AND-OBJ: asrtle.d $t0, $t544# CHECK64-ASM: encoding: [0x80,0x45,0x01,0x00]45asrtle.d $t0, $t546 47# CHECK64-ASM-AND-OBJ: asrtgt.d $t8, $t848# CHECK64-ASM: encoding: [0x80,0xd2,0x01,0x00]49asrtgt.d $t8, $t850 51# CHECK64-ASM-AND-OBJ: rdtime.d $tp, $t352# CHECK64-ASM: encoding: [0xe2,0x69,0x00,0x00]53rdtime.d $tp, $t354 55.endif56 57