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: frint.s $fa5, $ft9 14# ASM: encoding: [0x25,0x46,0x1e,0x01] 15frint.s $fa5, $ft9 16 17# ASM-AND-OBJ: fcvt.s.d $ft4, $ft11 18# ASM: encoding: [0x6c,0x1a,0x19,0x01] 19fcvt.s.d $ft4, $ft11 20 21# ASM-AND-OBJ: fcvt.d.s $ft2, $fa6 22# ASM: encoding: [0xca,0x24,0x19,0x01] 23fcvt.d.s $ft2, $fa6 24 25# ASM-AND-OBJ: ffint.s.l $fa6, $fa5 26# ASM: encoding: [0xa6,0x18,0x1d,0x01] 27ffint.s.l $fa6, $fa5 28 29# ASM-AND-OBJ: ffint.d.w $fs0, $ft10 30# ASM: encoding: [0x58,0x22,0x1d,0x01] 31ffint.d.w $fs0, $ft10 32 33# ASM-AND-OBJ: ffint.d.l $ft15, $fs2 34# ASM: encoding: [0x57,0x2b,0x1d,0x01] 35ffint.d.l $ft15, $fs2 36 37# ASM-AND-OBJ: ftint.w.d $fa3, $ft6 38# ASM: encoding: [0xc3,0x09,0x1b,0x01] 39ftint.w.d $fa3, $ft6 40 41# ASM-AND-OBJ: ftint.l.s $fs7, $fs0 42# ASM: encoding: [0x1f,0x27,0x1b,0x01] 43ftint.l.s $fs7, $fs0 44 45# ASM-AND-OBJ: ftint.l.d $ft8, $fs0 46# ASM: encoding: [0x10,0x2b,0x1b,0x01] 47ftint.l.d $ft8, $fs0 48 49# ASM-AND-OBJ: ftintrm.w.d $fa7, $ft0 50# ASM: encoding: [0x07,0x09,0x1a,0x01] 51ftintrm.w.d $fa7, $ft0 52 53# ASM-AND-OBJ: ftintrm.l.s $fs0, $ft2 54# ASM: encoding: [0x58,0x25,0x1a,0x01] 55ftintrm.l.s $fs0, $ft2 56 57# ASM-AND-OBJ: ftintrm.l.d $ft1, $ft1 58# ASM: encoding: [0x29,0x29,0x1a,0x01] 59ftintrm.l.d $ft1, $ft1 60 61# ASM-AND-OBJ: ftintrp.w.d $ft4, $fa3 62# ASM: encoding: [0x6c,0x48,0x1a,0x01] 63ftintrp.w.d $ft4, $fa3 64 65# ASM-AND-OBJ: ftintrp.l.s $fa0, $ft8 66# ASM: encoding: [0x00,0x66,0x1a,0x01] 67ftintrp.l.s $fa0, $ft8 68 69# ASM-AND-OBJ: ftintrp.l.d $fa4, $fs5 70# ASM: encoding: [0xa4,0x6b,0x1a,0x01] 71ftintrp.l.d $fa4, $fs5 72 73# ASM-AND-OBJ: ftintrz.w.d $fs1, $fs0 74# ASM: encoding: [0x19,0x8b,0x1a,0x01] 75ftintrz.w.d $fs1, $fs0 76 77# ASM-AND-OBJ: ftintrz.l.s $ft15, $fa5 78# ASM: encoding: [0xb7,0xa4,0x1a,0x01] 79ftintrz.l.s $ft15, $fa5 80 81# ASM-AND-OBJ: ftintrz.l.d $fa3, $ft2 82# ASM: encoding: [0x43,0xa9,0x1a,0x01] 83ftintrz.l.d $fa3, $ft2 84 85# ASM-AND-OBJ: ftintrne.w.d $fs7, $ft4 86# ASM: encoding: [0x9f,0xc9,0x1a,0x01] 87ftintrne.w.d $fs7, $ft4 88 89# ASM-AND-OBJ: ftintrne.l.s $ft14, $fs3 90# ASM: encoding: [0x76,0xe7,0x1a,0x01] 91ftintrne.l.s $ft14, $fs3 92 93# ASM-AND-OBJ: ftintrne.l.d $fs4, $fa6 94# ASM: encoding: [0xdc,0xe8,0x1a,0x01] 95ftintrne.l.d $fs4, $fa6 96 97# ASM-AND-OBJ: frint.d $fs5, $fa2 98# ASM: encoding: [0x5d,0x48,0x1e,0x01] 99frint.d $fs5, $fa2 100