blob: 08aa2a12878eca5fd6c3230b2dbadb4509163f34 [file] [log] [blame]
# RUN: llvm-mc %s -triple=xtensa -mattr=+fp -mattr=+bool -show-encoding \
# RUN: | FileCheck -check-prefixes=CHECK,CHECK-INST %s
.align 4
LBL0:
# CHECK-INST: abs.s f2, f3
# CHECK: encoding: [0x10,0x23,0xfa]
abs.s f2, f3
# CHECK-INST: add.s f2, f3, f4
# CHECK: encoding: [0x40,0x23,0x0a]
add.s f2, f3, f4
# CHECK-INST: addexp.s f2, f3
# CHECK: encoding: [0xe0,0x23,0xfa]
addexp.s f2, f3
# CHECK-INST: addexpm.s f2, f3
# CHECK: encoding: [0xf0,0x23,0xfa]
addexpm.s f2, f3
# CHECK-INST: ceil.s a2, f3, 5
# CHECK: encoding: [0x50,0x23,0xba]
ceil.s a2, f3, 5
# CHECK-INST: const.s f3, 5
# CHECK: encoding: [0x30,0x35,0xfa]
const.s f3, 5
# CHECK-INST: div0.s f2, f3
# CHECK: encoding: [0x70,0x23,0xfa]
div0.s f2, f3
# CHECK-INST: divn.s f2, f3, f4
# CHECK: encoding: [0x40,0x23,0x7a]
divn.s f2, f3, f4
# CHECK-INST: float.s f2, a3, 5
# CHECK: encoding: [0x50,0x23,0xca]
float.s f2, a3, 5
# CHECK-INST: floor.s a2, f3, 5
# CHECK: encoding: [0x50,0x23,0xaa]
floor.s a2, f3, 5
# CHECK-INST: lsi f2, a3, 8
# CHECK: encoding: [0x23,0x03,0x02]
lsi f2, a3, 8
# CHECK-INST: lsip f2, a3, 8
# CHECK: encoding: [0x23,0x83,0x02]
lsip f2, a3, 8
# CHECK-INST: lsx f2, a3, a4
# CHECK: encoding: [0x40,0x23,0x08]
lsx f2, a3, a4
# CHECK-INST: lsxp f2, a3, a4
# CHECK: encoding: [0x40,0x23,0x18]
lsxp f2, a3, a4
# CHECK-INST: madd.s f2, f3, f4
# CHECK: encoding: [0x40,0x23,0x4a]
madd.s f2, f3, f4
# CHECK-INST: maddn.s f2, f3, f4
# CHECK: encoding: [0x40,0x23,0x6a]
maddn.s f2, f3, f4
# CHECK-INST: mkdadj.s f2, f3
# CHECK: encoding: [0xd0,0x23,0xfa]
mkdadj.s f2, f3
# CHECK-INST: mksadj.s f2, f3
# CHECK: encoding: [0xc0,0x23,0xfa]
mksadj.s f2, f3
# CHECK-INST: mov.s f2, f3
# CHECK: encoding: [0x00,0x23,0xfa]
mov.s f2, f3
# CHECK-INST: moveqz.s f2, f3, a4
# CHECK: encoding: [0x40,0x23,0x8b]
moveqz.s f2, f3, a4
# CHECK-INST: movf.s f2, f3, b0
# CHECK: encoding: [0x00,0x23,0xcb]
movf.s f2, f3, b0
# CHECK-INST: movgez.s f2, f3, a4
# CHECK: encoding: [0x40,0x23,0xbb]
movgez.s f2, f3, a4
# CHECK-INST: movltz.s f2, f3, a4
# CHECK: encoding: [0x40,0x23,0xab]
movltz.s f2, f3, a4
# CHECK-INST: movnez.s f2, f3, a4
# CHECK: encoding: [0x40,0x23,0x9b]
movnez.s f2, f3, a4
# CHECK-INST: movt.s f2, f3, b0
# CHECK: encoding: [0x00,0x23,0xdb]
movt.s f2, f3, b0
# CHECK-INST: msub.s f2, f3, f4
# CHECK: encoding: [0x40,0x23,0x5a]
msub.s f2, f3, f4
# CHECK-INST: mul.s f2, f3, f4
# CHECK: encoding: [0x40,0x23,0x2a]
mul.s f2, f3, f4
# CHECK-INST: neg.s f2, f3
# CHECK: encoding: [0x60,0x23,0xfa]
neg.s f2, f3
# CHECK-INST: nexp01.s f2, f3
# CHECK: encoding: [0xb0,0x23,0xfa]
nexp01.s f2, f3
# CHECK-INST: oeq.s b0, f2, f3
# CHECK: encoding: [0x30,0x02,0x2b]
oeq.s b0, f2, f3
# CHECK-INST: ole.s b0, f2, f3
# CHECK: encoding: [0x30,0x02,0x6b]
ole.s b0, f2, f3
# CHECK-INST: olt.s b0, f2, f3
# CHECK: encoding: [0x30,0x02,0x4b]
olt.s b0, f2, f3
# CHECK-INST: recip0.s f2, f3
# CHECK: encoding: [0x80,0x23,0xfa]
recip0.s f2, f3
# CHECK-INST: rfr a2, f3
# CHECK: encoding: [0x40,0x23,0xfa]
rfr a2, f3
# CHECK-INST: round.s a2, f3, 5
# CHECK: encoding: [0x50,0x23,0x8a]
round.s a2, f3, 5
# CHECK-INST: rsqrt0.s f2, f3
# CHECK: encoding: [0xa0,0x23,0xfa]
rsqrt0.s f2, f3
# CHECK-INST: sqrt0.s f2, f3
# CHECK: encoding: [0x90,0x23,0xfa]
sqrt0.s f2, f3
# CHECK-INST: ssi f2, a3, 8
# CHECK: encoding: [0x23,0x43,0x02]
ssi f2, a3, 8
# CHECK-INST: ssip f2, a3, 8
# CHECK: encoding: [0x23,0xc3,0x02]
ssip f2, a3, 8
# CHECK-INST: ssx f2, a3, a4
# CHECK: encoding: [0x40,0x23,0x48]
ssx f2, a3, a4
# CHECK-INST: ssxp f2, a3, a4
# CHECK: encoding: [0x40,0x23,0x58]
ssxp f2, a3, a4
# CHECK-INST: sub.s f2, f3, f4
# CHECK: encoding: [0x40,0x23,0x1a]
sub.s f2, f3, f4
# CHECK-INST: trunc.s a2, f3, 5
# CHECK: encoding: [0x50,0x23,0x9a]
trunc.s a2, f3, 5
# CHECK-INST: ueq.s b0, f2, f3
# CHECK: encoding: [0x30,0x02,0x3b]
ueq.s b0, f2, f3
# CHECK-INST: ufloat.s f2, a3, 5
# CHECK: encoding: [0x50,0x23,0xda]
ufloat.s f2, a3, 5
# CHECK-INST: ule.s b0, f2, f3
# CHECK: encoding: [0x30,0x02,0x7b]
ule.s b0, f2, f3
# CHECK-INST: ult.s b0, f2, f3
# CHECK: encoding: [0x30,0x02,0x5b]
ult.s b0, f2, f3
# CHECK-INST: un.s b0, f2, f3
# CHECK: encoding: [0x30,0x02,0x1b]
un.s b0, f2, f3
# CHECK-INST: utrunc.s a2, f3, 5
# CHECK: encoding: [0x50,0x23,0xea]
utrunc.s a2, f3, 5
# CHECK-INST: wfr f2, a3
# CHECK: encoding: [0x50,0x23,0xfa]
wfr f2, a3
# CHECK-INST: rur a3, fcr
# CHECK: encoding: [0x80,0x3e,0xe3]
rur a3, fcr
# CHECK-INST: rur a3, fcr
# CHECK: encoding: [0x80,0x3e,0xe3]
rur a3, 232
# CHECK-INST: rur a3, fcr
# CHECK: encoding: [0x80,0x3e,0xe3]
rur.fcr a3
# CHECK-INST: wur a3, fcr
# CHECK: encoding: [0x30,0xe8,0xf3]
wur a3, fcr
# CHECK-INST: rur a3, fsr
# CHECK: encoding: [0x90,0x3e,0xe3]
rur a3, fsr
# CHECK-INST: rur a3, fsr
# CHECK: encoding: [0x90,0x3e,0xe3]
rur a3, 233
# CHECK-INST: rur a3, fsr
# CHECK: encoding: [0x90,0x3e,0xe3]
rur.fsr a3
# CHECK-INST: wur a3, fsr
# CHECK: encoding: [0x30,0xe9,0xf3]
wur a3, fsr