xref: /llvm-project/llvm/test/MC/LoongArch/lsx/addw.s (revision 12d2acdf4acc4c31e9ff483685d766b1f4f22b4e)
1# RUN: llvm-mc --triple=loongarch64 --show-encoding %s | \
2# RUN:        FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
3# RUN: llvm-mc --triple=loongarch64 --filetype=obj %s | \
4# RUN:        llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-INST
5
6vaddwev.h.b $vr2, $vr23, $vr25
7# CHECK-INST: vaddwev.h.b $vr2, $vr23, $vr25
8# CHECK-ENCODING: encoding: [0xe2,0x66,0x1e,0x70]
9
10vaddwev.w.h $vr4, $vr8, $vr30
11# CHECK-INST: vaddwev.w.h $vr4, $vr8, $vr30
12# CHECK-ENCODING: encoding: [0x04,0xf9,0x1e,0x70]
13
14vaddwev.d.w $vr8, $vr31, $vr5
15# CHECK-INST: vaddwev.d.w $vr8, $vr31, $vr5
16# CHECK-ENCODING: encoding: [0xe8,0x17,0x1f,0x70]
17
18vaddwev.q.d $vr10, $vr10, $vr13
19# CHECK-INST: vaddwev.q.d $vr10, $vr10, $vr13
20# CHECK-ENCODING: encoding: [0x4a,0xb5,0x1f,0x70]
21
22vaddwev.h.bu $vr12, $vr24, $vr25
23# CHECK-INST: vaddwev.h.bu $vr12, $vr24, $vr25
24# CHECK-ENCODING: encoding: [0x0c,0x67,0x2e,0x70]
25
26vaddwev.w.hu $vr3, $vr9, $vr30
27# CHECK-INST: vaddwev.w.hu $vr3, $vr9, $vr30
28# CHECK-ENCODING: encoding: [0x23,0xf9,0x2e,0x70]
29
30vaddwev.d.wu $vr27, $vr10, $vr17
31# CHECK-INST: vaddwev.d.wu $vr27, $vr10, $vr17
32# CHECK-ENCODING: encoding: [0x5b,0x45,0x2f,0x70]
33
34vaddwev.q.du $vr25, $vr20, $vr14
35# CHECK-INST: vaddwev.q.du $vr25, $vr20, $vr14
36# CHECK-ENCODING: encoding: [0x99,0xba,0x2f,0x70]
37
38vaddwev.h.bu.b $vr5, $vr7, $vr16
39# CHECK-INST: vaddwev.h.bu.b $vr5, $vr7, $vr16
40# CHECK-ENCODING: encoding: [0xe5,0x40,0x3e,0x70]
41
42vaddwev.w.hu.h $vr15, $vr13, $vr29
43# CHECK-INST: vaddwev.w.hu.h $vr15, $vr13, $vr29
44# CHECK-ENCODING: encoding: [0xaf,0xf5,0x3e,0x70]
45
46vaddwev.d.wu.w $vr2, $vr6, $vr8
47# CHECK-INST: vaddwev.d.wu.w $vr2, $vr6, $vr8
48# CHECK-ENCODING: encoding: [0xc2,0x20,0x3f,0x70]
49
50vaddwev.q.du.d $vr19, $vr1, $vr12
51# CHECK-INST: vaddwev.q.du.d $vr19, $vr1, $vr12
52# CHECK-ENCODING: encoding: [0x33,0xb0,0x3f,0x70]
53
54vaddwod.h.b $vr31, $vr6, $vr9
55# CHECK-INST: vaddwod.h.b $vr31, $vr6, $vr9
56# CHECK-ENCODING: encoding: [0xdf,0x24,0x22,0x70]
57
58vaddwod.w.h $vr17, $vr31, $vr2
59# CHECK-INST: vaddwod.w.h $vr17, $vr31, $vr2
60# CHECK-ENCODING: encoding: [0xf1,0x8b,0x22,0x70]
61
62vaddwod.d.w $vr11, $vr15, $vr27
63# CHECK-INST: vaddwod.d.w $vr11, $vr15, $vr27
64# CHECK-ENCODING: encoding: [0xeb,0x6d,0x23,0x70]
65
66vaddwod.q.d $vr0, $vr26, $vr17
67# CHECK-INST: vaddwod.q.d $vr0, $vr26, $vr17
68# CHECK-ENCODING: encoding: [0x40,0xc7,0x23,0x70]
69
70vaddwod.h.bu $vr30, $vr15, $vr10
71# CHECK-INST: vaddwod.h.bu $vr30, $vr15, $vr10
72# CHECK-ENCODING: encoding: [0xfe,0x29,0x32,0x70]
73
74vaddwod.w.hu $vr24, $vr22, $vr1
75# CHECK-INST: vaddwod.w.hu $vr24, $vr22, $vr1
76# CHECK-ENCODING: encoding: [0xd8,0x86,0x32,0x70]
77
78vaddwod.d.wu $vr10, $vr25, $vr13
79# CHECK-INST: vaddwod.d.wu $vr10, $vr25, $vr13
80# CHECK-ENCODING: encoding: [0x2a,0x37,0x33,0x70]
81
82vaddwod.q.du $vr16, $vr23, $vr21
83# CHECK-INST: vaddwod.q.du $vr16, $vr23, $vr21
84# CHECK-ENCODING: encoding: [0xf0,0xd6,0x33,0x70]
85
86vaddwod.h.bu.b $vr30, $vr15, $vr2
87# CHECK-INST: vaddwod.h.bu.b $vr30, $vr15, $vr2
88# CHECK-ENCODING: encoding: [0xfe,0x09,0x40,0x70]
89
90vaddwod.w.hu.h $vr24, $vr30, $vr13
91# CHECK-INST: vaddwod.w.hu.h $vr24, $vr30, $vr13
92# CHECK-ENCODING: encoding: [0xd8,0xb7,0x40,0x70]
93
94vaddwod.d.wu.w $vr10, $vr26, $vr9
95# CHECK-INST: vaddwod.d.wu.w $vr10, $vr26, $vr9
96# CHECK-ENCODING: encoding: [0x4a,0x27,0x41,0x70]
97
98vaddwod.q.du.d $vr20, $vr9, $vr16
99# CHECK-INST: vaddwod.q.du.d $vr20, $vr9, $vr16
100# CHECK-ENCODING: encoding: [0x34,0xc1,0x41,0x70]
101