brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.6 KiB · fe224f8 Raw
185 lines · plain
1# RUN: llvm-mc %s -triple=riscv32 -mattr=+q -M no-aliases -show-encoding \2# RUN:     | FileCheck -check-prefixes=CHECK-ASM,CHECK-ASM-AND-OBJ %s3# RUN: llvm-mc -filetype=obj -triple=riscv32 -mattr=+q < %s \4# RUN:     | llvm-objdump --no-print-imm-hex --mattr=+q -M no-aliases -d -r - \5# RUN:     | FileCheck --check-prefix=CHECK-ASM-AND-OBJ %s6# RUN: llvm-mc %s -triple=riscv64 -mattr=+q -M no-aliases -show-encoding \7# RUN:     | FileCheck -check-prefixes=CHECK-ASM,CHECK-ASM-AND-OBJ %s8# RUN: llvm-mc -filetype=obj -triple=riscv64 -mattr=+q < %s \9# RUN:     | llvm-objdump --no-print-imm-hex --mattr=+q -M no-aliases -d -r - \10# RUN:     | FileCheck --check-prefix=CHECK-ASM-AND-OBJ %s11 12# Support for the 'Q' extension implies support for 'D' and 'F'13 14# CHECK-ASM-AND-OBJ: fadd.d fs10, fs11, ft8, dyn15# CHECK-ASM: encoding: [0x53,0xfd,0xcd,0x03]16fadd.d f26, f27, f28, dyn17 18# CHECK-ASM-AND-OBJ: fadd.s fs10, fs11, ft819# CHECK-ASM: encoding: [0x53,0xfd,0xcd,0x01]20fadd.s f26, f27, f2821 22# CHECK-ASM-AND-OBJ: flq ft0, 12(a0)23# CHECK-ASM: encoding: [0x07,0x40,0xc5,0x00]24flq f0, 12(a0)25# CHECK-ASM-AND-OBJ: flq ft1, 4(ra)26# CHECK-ASM: encoding: [0x87,0xc0,0x40,0x00]27flq f1, +4(ra)28# CHECK-ASM-AND-OBJ: flq ft2, -2048(a3)29# CHECK-ASM: encoding: [0x07,0xc1,0x06,0x80]30flq f2, -2048(x13)31# CHECK-ASM: flq ft3, %lo(2048)(s1)  # encoding: [0x87,0xc1,0bAAAA0100,A]32# CHECK-OBJ: flq ft3, -2048(s1)33flq f3, %lo(2048)(s1)34# CHECK-ASM-AND-OBJ: flq ft4, 2047(s2)35# CHECK-ASM: encoding: [0x07,0x42,0xf9,0x7f]36flq f4, 2047(s2)37# CHECK-ASM-AND-OBJ: flq ft5, 0(s3)38# CHECK-ASM: encoding: [0x87,0xc2,0x09,0x00]39flq f5, 0(s3)40 41# CHECK-ASM-AND-OBJ: fsq ft6, 2047(s4)42# CHECK-ASM: encoding: [0xa7,0x4f,0x6a,0x7e]43fsq f6, 2047(s4)44# CHECK-ASM-AND-OBJ: fsq ft7, -2048(s5)45# CHECK-ASM: encoding: [0x27,0xc0,0x7a,0x80]46fsq f7, -2048(s5)47# CHECK-ASM: fsq fs0, %lo(2048)(s6)  # encoding: [0x27'A',0x40'A',0x8b'A',A]48# CHECK-OBJ: fsq fs0, -2048(s6)49fsq f8, %lo(2048)(s6)50# CHECK-ASM-AND-OBJ: fsq fs1, 999(s7)51# CHECK-ASM: encoding: [0xa7,0xc3,0x9b,0x3e]52fsq f9, 999(s7)53 54# CHECK-ASM-AND-OBJ: fmadd.q fa0, fa1, fa2, fa3, dyn55# CHECK-ASM: encoding: [0x43,0xf5,0xc5,0x6e]56fmadd.q f10, f11, f12, f13, dyn57# CHECK-ASM-AND-OBJ: fmsub.q fa4, fa5, fa6, fa7, dyn58# CHECK-ASM: encoding: [0x47,0xf7,0x07,0x8f]59fmsub.q f14, f15, f16, f17, dyn60# CHECK-ASM-AND-OBJ: fnmsub.q fs2, fs3, fs4, fs5, dyn61# CHECK-ASM: encoding: [0x4b,0xf9,0x49,0xaf]62fnmsub.q f18, f19, f20, f21, dyn63# CHECK-ASM-AND-OBJ: fnmadd.q fs6, fs7, fs8, fs9, dyn64# CHECK-ASM: encoding: [0x4f,0xfb,0x8b,0xcf]65fnmadd.q f22, f23, f24, f25, dyn66 67# CHECK-ASM-AND-OBJ: fadd.q fs10, fs11, ft8, dyn68# CHECK-ASM: encoding: [0x53,0xfd,0xcd,0x07]69fadd.q f26, f27, f28, dyn70# CHECK-ASM-AND-OBJ: fsub.q ft9, ft10, ft11, dyn71# CHECK-ASM: encoding: [0xd3,0x7e,0xff,0x0f]72fsub.q f29, f30, f31, dyn73# CHECK-ASM-AND-OBJ: fmul.q ft0, ft1, ft2, dyn74# CHECK-ASM: encoding: [0x53,0xf0,0x20,0x16]75fmul.q ft0, ft1, ft2, dyn76# CHECK-ASM-AND-OBJ: fdiv.q ft3, ft4, ft5, dyn77# CHECK-ASM: encoding: [0xd3,0x71,0x52,0x1e]78fdiv.q ft3, ft4, ft5, dyn79# CHECK-ASM-AND-OBJ: fsqrt.q ft6, ft7, dyn80# CHECK-ASM: encoding: [0x53,0xf3,0x03,0x5e]81fsqrt.q ft6, ft7, dyn82# CHECK-ASM-AND-OBJ: fsgnj.q fs1, fa0, fa183# CHECK-ASM: encoding: [0xd3,0x04,0xb5,0x26]84fsgnj.q fs1, fa0, fa185# CHECK-ASM-AND-OBJ: fsgnjn.q fa1, fa3, fa486# CHECK-ASM: encoding: [0xd3,0x95,0xe6,0x26]87fsgnjn.q fa1, fa3, fa488# CHECK-ASM-AND-OBJ: fsgnjx.q fa3, fa2, fa189# CHECK-ASM: encoding: [0xd3,0x26,0xb6,0x26]90fsgnjx.q fa3, fa2, fa191# CHECK-ASM-AND-OBJ: fmin.q fa5, fa6, fa792# CHECK-ASM: encoding: [0xd3,0x07,0x18,0x2f]93fmin.q fa5, fa6, fa794# CHECK-ASM-AND-OBJ: fmax.q fs2, fs3, fs495# CHECK-ASM: encoding: [0x53,0x99,0x49,0x2f]96fmax.q fs2, fs3, fs497 98# CHECK-ASM-AND-OBJ: fcvt.s.q fs5, fs6, dyn99# CHECK-ASM: encoding: [0xd3,0x7a,0x3b,0x40]100fcvt.s.q fs5, fs6, dyn101# CHECK-ASM-AND-OBJ: fcvt.q.s fs7, fs8102# CHECK-ASM: encoding: [0xd3,0x0b,0x0c,0x46]103fcvt.q.s fs7, fs8104# CHECK-ASM-AND-OBJ: fcvt.q.s fs7, fs8, rup105# CHECK-ASM: encoding: [0xd3,0x3b,0x0c,0x46]106fcvt.q.s fs7, fs8, rup107# CHECK-ASM-AND-OBJ: fcvt.d.q fs5, fs6, dyn108# CHECK-ASM: encoding: [0xd3,0x7a,0x3b,0x42]109fcvt.d.q fs5, fs6, dyn110# CHECK-ASM-AND-OBJ: fcvt.q.d fs7, fs8111# CHECK-ASM: encoding: [0xd3,0x0b,0x1c,0x46]112fcvt.q.d fs7, fs8113# CHECK-ASM-AND-OBJ: fcvt.q.d fs7, fs8, rup114# CHECK-ASM: encoding: [0xd3,0x3b,0x1c,0x46]115fcvt.q.d fs7, fs8, rup116# CHECK-ASM-AND-OBJ: feq.q a1, fs8, fs9117# CHECK-ASM: encoding: [0xd3,0x25,0x9c,0xa7]118feq.q a1, fs8, fs9119# CHECK-ASM-AND-OBJ: flt.q a2, fs10, fs11120# CHECK-ASM: encoding: [0x53,0x16,0xbd,0xa7]121flt.q a2, fs10, fs11122# CHECK-ASM-AND-OBJ: fle.q a3, ft8, ft9123# CHECK-ASM: encoding: [0xd3,0x06,0xde,0xa7]124fle.q a3, ft8, ft9125# CHECK-ASM-AND-OBJ: fclass.q a3, ft10126# CHECK-ASM: encoding: [0xd3,0x16,0x0f,0xe6]127fclass.q a3, ft10128 129# CHECK-ASM-AND-OBJ: fcvt.w.q a4, ft11, dyn130# CHECK-ASM: encoding: [0x53,0xf7,0x0f,0xc6]131fcvt.w.q a4, ft11, dyn132# CHECK-ASM-AND-OBJ: fcvt.q.w ft0, a5133# CHECK-ASM: encoding: [0x53,0x80,0x07,0xd6]134fcvt.q.w ft0, a5135# CHECK-ASM-AND-OBJ: fcvt.q.w ft0, a5, rup136# CHECK-ASM: encoding: [0x53,0xb0,0x07,0xd6]137fcvt.q.w ft0, a5, rup138# CHECK-ASM-AND-OBJ: fcvt.q.wu ft1, a6139# CHECK-ASM: encoding: [0xd3,0x00,0x18,0xd6]140fcvt.q.wu ft1, a6141# CHECK-ASM-AND-OBJ: fcvt.q.wu ft1, a6, rup142# CHECK-ASM: encoding: [0xd3,0x30,0x18,0xd6]143fcvt.q.wu ft1, a6, rup144 145# Rounding modes146 147# CHECK-ASM-AND-OBJ: fmadd.q fa0, fa1, fa2, fa3, rne148# CHECK-ASM: encoding: [0x43,0x85,0xc5,0x6e]149fmadd.q f10, f11, f12, f13, rne150# CHECK-ASM-AND-OBJ: fmsub.q fa4, fa5, fa6, fa7, rtz151# CHECK-ASM: encoding: [0x47,0x97,0x07,0x8f]152fmsub.q f14, f15, f16, f17, rtz153# CHECK-ASM-AND-OBJ: fnmsub.q fs2, fs3, fs4, fs5, rdn154# CHECK-ASM: encoding: [0x4b,0xa9,0x49,0xaf]155fnmsub.q f18, f19, f20, f21, rdn156# CHECK-ASM-AND-OBJ: fnmadd.q fs6, fs7, fs8, fs9, rup157# CHECK-ASM: encoding: [0x4f,0xbb,0x8b,0xcf]158fnmadd.q f22, f23, f24, f25, rup159 160# CHECK-ASM-AND-OBJ: fadd.q fs10, fs11, ft8, rmm161# CHECK-ASM: encoding: [0x53,0xcd,0xcd,0x07]162fadd.q f26, f27, f28, rmm163# CHECK-ASM-AND-OBJ: fsub.q ft9, ft10, ft11164# CHECK-ASM: encoding: [0xd3,0x7e,0xff,0x0f]165fsub.q f29, f30, f31, dyn166# CHECK-ASM-AND-OBJ: fmul.q ft0, ft1, ft2, rne167# CHECK-ASM: encoding: [0x53,0x80,0x20,0x16]168fmul.q ft0, ft1, ft2, rne169# CHECK-ASM-AND-OBJ: fdiv.q ft3, ft4, ft5, rtz170# CHECK-ASM: encoding: [0xd3,0x11,0x52,0x1e]171fdiv.q ft3, ft4, ft5, rtz172 173# CHECK-ASM-AND-OBJ: fsqrt.q ft6, ft7, rdn174# CHECK-ASM: encoding: [0x53,0xa3,0x03,0x5e]175fsqrt.q ft6, ft7, rdn176# CHECK-ASM-AND-OBJ: fcvt.s.q fs5, fs6, rup177# CHECK-ASM: encoding: [0xd3,0x3a,0x3b,0x40]178fcvt.s.q fs5, fs6, rup179# CHECK-ASM-AND-OBJ: fcvt.w.q a4, ft11, rmm180# CHECK-ASM: encoding: [0x53,0xc7,0x0f,0xc6]181fcvt.w.q a4, ft11, rmm182# CHECK-ASM-AND-OBJ: fcvt.wu.q a5, ft10, dyn183# CHECK-ASM: encoding: [0xd3,0x77,0x1f,0xc6]184fcvt.wu.q a5, ft10, dyn185