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# ASM-AND-OBJ: fadd.s $fs5, $ft7, $fs1 13# ASM: encoding: [0xfd,0xe5,0x00,0x01] 14fadd.s $fs5, $ft7, $fs1 15 16# ASM-AND-OBJ: fsub.s $ft6, $fa6, $fs7 17# ASM: encoding: [0xce,0xfc,0x02,0x01] 18fsub.s $ft6, $fa6, $fs7 19 20# ASM-AND-OBJ: fmul.s $fa0, $fa7, $ft9 21# ASM: encoding: [0xe0,0xc4,0x04,0x01] 22fmul.s $fa0, $fa7, $ft9 23 24# ASM-AND-OBJ: fdiv.s $ft12, $fs0, $ft11 25# ASM: encoding: [0x14,0xcf,0x06,0x01] 26fdiv.s $ft12, $fs0, $ft11 27 28# ASM-AND-OBJ: fmadd.s $fa3, $ft8, $fa3, $ft7 29# ASM: encoding: [0x03,0x8e,0x17,0x08] 30fmadd.s $fa3, $ft8, $fa3, $ft7 31 32# ASM-AND-OBJ: fmsub.s $ft15, $ft3, $ft13, $fa4 33# ASM: encoding: [0x77,0x55,0x52,0x08] 34fmsub.s $ft15, $ft3, $ft13, $fa4 35 36# ASM-AND-OBJ: fnmadd.s $fs5, $fa1, $fs0, $ft12 37# ASM: encoding: [0x3d,0x60,0x9a,0x08] 38fnmadd.s $fs5, $fa1, $fs0, $ft12 39 40# ASM-AND-OBJ: fnmsub.s $ft0, $fa4, $fs0, $fs1 41# ASM: encoding: [0x88,0xe0,0xdc,0x08] 42fnmsub.s $ft0, $fa4, $fs0, $fs1 43 44# ASM-AND-OBJ: fmax.s $ft14, $fa6, $fs3 45# ASM: encoding: [0xd6,0xec,0x08,0x01] 46fmax.s $ft14, $fa6, $fs3 47 48# ASM-AND-OBJ: fmin.s $ft6, $ft2, $ft11 49# ASM: encoding: [0x4e,0xcd,0x0a,0x01] 50fmin.s $ft6, $ft2, $ft11 51 52# ASM-AND-OBJ: fmaxa.s $ft1, $fs3, $fs7 53# ASM: encoding: [0x69,0xff,0x0c,0x01] 54fmaxa.s $ft1, $fs3, $fs7 55 56# ASM-AND-OBJ: fmina.s $ft7, $ft10, $fa1 57# ASM: encoding: [0x4f,0x86,0x0e,0x01] 58fmina.s $ft7, $ft10, $fa1 59 60# ASM-AND-OBJ: fabs.s $fs4, $ft4 61# ASM: encoding: [0x9c,0x05,0x14,0x01] 62fabs.s $fs4, $ft4 63 64# ASM-AND-OBJ: fneg.s $ft13, $fs0 65# ASM: encoding: [0x15,0x17,0x14,0x01] 66fneg.s $ft13, $fs0 67 68# ASM-AND-OBJ: fsqrt.s $fs3, $ft10 69# ASM: encoding: [0x5b,0x46,0x14,0x01] 70fsqrt.s $fs3, $ft10 71 72# ASM-AND-OBJ: frecip.s $ft9, $fs3 73# ASM: encoding: [0x71,0x57,0x14,0x01] 74frecip.s $ft9, $fs3 75 76# ASM-AND-OBJ: frecipe.s $fa0, $fa0 77# ASM: encoding: [0x00,0x74,0x14,0x01] 78frecipe.s $fa0, $fa0 79 80# ASM-AND-OBJ: frsqrt.s $fs1, $ft4 81# ASM: encoding: [0x99,0x65,0x14,0x01] 82frsqrt.s $fs1, $ft4 83 84# ASM-AND-OBJ: frsqrte.s $fa1, $fa1 85# ASM: encoding: [0x21,0x84,0x14,0x01] 86frsqrte.s $fa1, $fa1 87 88# ASM-AND-OBJ: fscaleb.s $ft13, $ft15, $fa6 89# ASM: encoding: [0xf5,0x9a,0x10,0x01] 90fscaleb.s $ft13, $ft15, $fa6 91 92# ASM-AND-OBJ: flogb.s $fs7, $ft15 93# ASM: encoding: [0xff,0x26,0x14,0x01] 94flogb.s $fs7, $ft15 95 96# ASM-AND-OBJ: fcopysign.s $ft5, $fs0, $ft15 97# ASM: encoding: [0x0d,0xdf,0x12,0x01] 98fcopysign.s $ft5, $fs0, $ft15 99 100# ASM-AND-OBJ: fclass.s $ft12, $ft1 101# ASM: encoding: [0x34,0x35,0x14,0x01] 102fclass.s $ft12, $ft1 103