1# RUN: llvm-mc %s --triple=loongarch32 --show-encoding \ 2# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM %s 3# RUN: llvm-mc %s --triple=loongarch64 --show-encoding \ 4# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM %s 5# RUN: llvm-mc %s --triple=loongarch32 --filetype=obj \ 6# RUN: | llvm-objdump -d - \ 7# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s 8# RUN: llvm-mc %s --triple=loongarch64 --filetype=obj \ 9# RUN: | llvm-objdump -d - \ 10# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s 11 12## Support for the 'D' extension implies support for 'F' 13# ASM-AND-OBJ: fcmp.caf.s $fcc0, $fa0, $fa1 14# ASM: encoding: [0x00,0x04,0x10,0x0c] 15fcmp.caf.s $fcc0, $fa0, $fa1 16 17# ASM-AND-OBJ: fcmp.caf.d $fcc0, $fa0, $fa1 18# ASM: encoding: [0x00,0x04,0x20,0x0c] 19fcmp.caf.d $fcc0, $fa0, $fa1 20 21# ASM-AND-OBJ: fcmp.cun.d $fcc0, $fa0, $fa1 22# ASM: encoding: [0x00,0x04,0x24,0x0c] 23fcmp.cun.d $fcc0, $fa0, $fa1 24 25# ASM-AND-OBJ: fcmp.ceq.d $fcc0, $fa0, $fa1 26# ASM: encoding: [0x00,0x04,0x22,0x0c] 27fcmp.ceq.d $fcc0, $fa0, $fa1 28 29# ASM-AND-OBJ: fcmp.cueq.d $fcc0, $fa0, $fa1 30# ASM: encoding: [0x00,0x04,0x26,0x0c] 31fcmp.cueq.d $fcc0, $fa0, $fa1 32 33# ASM-AND-OBJ: fcmp.clt.d $fcc0, $fa0, $fa1 34# ASM: encoding: [0x00,0x04,0x21,0x0c] 35fcmp.clt.d $fcc0, $fa0, $fa1 36 37# ASM-AND-OBJ: fcmp.cult.d $fcc0, $fa0, $fa1 38# ASM: encoding: [0x00,0x04,0x25,0x0c] 39fcmp.cult.d $fcc0, $fa0, $fa1 40 41# ASM-AND-OBJ: fcmp.cle.d $fcc0, $fa0, $fa1 42# ASM: encoding: [0x00,0x04,0x23,0x0c] 43fcmp.cle.d $fcc0, $fa0, $fa1 44 45# ASM-AND-OBJ: fcmp.cule.d $fcc0, $fa0, $fa1 46# ASM: encoding: [0x00,0x04,0x27,0x0c] 47fcmp.cule.d $fcc0, $fa0, $fa1 48 49# ASM-AND-OBJ: fcmp.cne.d $fcc0, $fa0, $fa1 50# ASM: encoding: [0x00,0x04,0x28,0x0c] 51fcmp.cne.d $fcc0, $fa0, $fa1 52 53# ASM-AND-OBJ: fcmp.cor.d $fcc0, $fa0, $fa1 54# ASM: encoding: [0x00,0x04,0x2a,0x0c] 55fcmp.cor.d $fcc0, $fa0, $fa1 56 57# ASM-AND-OBJ: fcmp.cune.d $fcc0, $fa0, $fa1 58# ASM: encoding: [0x00,0x04,0x2c,0x0c] 59fcmp.cune.d $fcc0, $fa0, $fa1 60 61# ASM-AND-OBJ: fcmp.saf.d $fcc0, $fa0, $fa1 62# ASM: encoding: [0x00,0x84,0x20,0x0c] 63fcmp.saf.d $fcc0, $fa0, $fa1 64 65# ASM-AND-OBJ: fcmp.sun.d $fcc0, $fa0, $fa1 66# ASM: encoding: [0x00,0x84,0x24,0x0c] 67fcmp.sun.d $fcc0, $fa0, $fa1 68 69# ASM-AND-OBJ: fcmp.seq.d $fcc0, $fa0, $fa1 70# ASM: encoding: [0x00,0x84,0x22,0x0c] 71fcmp.seq.d $fcc0, $fa0, $fa1 72 73# ASM-AND-OBJ: fcmp.sueq.d $fcc0, $fa0, $fa1 74# ASM: encoding: [0x00,0x84,0x26,0x0c] 75fcmp.sueq.d $fcc0, $fa0, $fa1 76 77# ASM-AND-OBJ: fcmp.slt.d $fcc0, $fa0, $fa1 78# ASM: encoding: [0x00,0x84,0x21,0x0c] 79fcmp.slt.d $fcc0, $fa0, $fa1 80 81# ASM-AND-OBJ: fcmp.sult.d $fcc0, $fa0, $fa1 82# ASM: encoding: [0x00,0x84,0x25,0x0c] 83fcmp.sult.d $fcc0, $fa0, $fa1 84 85# ASM-AND-OBJ: fcmp.sle.d $fcc0, $fa0, $fa1 86# ASM: encoding: [0x00,0x84,0x23,0x0c] 87fcmp.sle.d $fcc0, $fa0, $fa1 88 89# ASM-AND-OBJ: fcmp.sule.d $fcc0, $fa0, $fa1 90# ASM: encoding: [0x00,0x84,0x27,0x0c] 91fcmp.sule.d $fcc0, $fa0, $fa1 92 93# ASM-AND-OBJ: fcmp.sne.d $fcc0, $fa0, $fa1 94# ASM: encoding: [0x00,0x84,0x28,0x0c] 95fcmp.sne.d $fcc0, $fa0, $fa1 96 97# ASM-AND-OBJ: fcmp.sor.d $fcc0, $fa0, $fa1 98# ASM: encoding: [0x00,0x84,0x2a,0x0c] 99fcmp.sor.d $fcc0, $fa0, $fa1 100 101# ASM-AND-OBJ: fcmp.sune.d $fcc0, $fa0, $fa1 102# ASM: encoding: [0x00,0x84,0x2c,0x0c] 103fcmp.sune.d $fcc0, $fa0, $fa1 104