xref: /llvm-project/llvm/test/MC/LoongArch/Basic/Float/d-comp.s (revision 9a8727df35da562a3bd18f7356647092f1059188)
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