xref: /aosp_15_r20/external/llvm/test/MC/Hexagon/v60-vmpy1.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker#RUN: llvm-mc -triple=hexagon -mcpu=hexagonv60 -filetype=obj %s | \
2*9880d681SAndroid Build Coastguard Worker#RUN: llvm-objdump -triple=hexagon -mcpu=hexagonv60 -d - | \
3*9880d681SAndroid Build Coastguard Worker#RUN: FileCheck %s
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Worker#CHECK: 1939c223 { v3.w = vdmpy(v3:2.h,{{ *}}r25.uh,{{ *}}#1):sat }
6*9880d681SAndroid Build Coastguard Workerv3.w=vdmpy(v3:2.h,r25.uh,#1):sat
7*9880d681SAndroid Build Coastguard Worker
8*9880d681SAndroid Build Coastguard Worker#CHECK: 1936de0d { v13.w = vdmpy(v30.h,{{ *}}r22.uh):sat }
9*9880d681SAndroid Build Coastguard Workerv13.w=vdmpy(v30.h,r22.uh):sat
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Worker#CHECK: 1919ccea { v11:10.h = vdmpy(v13:12.ub,{{ *}}r25.b) }
12*9880d681SAndroid Build Coastguard Workerv11:10.h=vdmpy(v13:12.ub,r25.b)
13*9880d681SAndroid Build Coastguard Worker
14*9880d681SAndroid Build Coastguard Worker#CHECK: 1918ced6 { v22.h = vdmpy(v14.ub,{{ *}}r24.b) }
15*9880d681SAndroid Build Coastguard Workerv22.h=vdmpy(v14.ub,r24.b)
16*9880d681SAndroid Build Coastguard Worker
17*9880d681SAndroid Build Coastguard Worker#CHECK: 1911deba { v27:26.uw = vdsad(v31:30.uh,{{ *}}r17.uh) }
18*9880d681SAndroid Build Coastguard Workerv27:26.uw=vdsad(v31:30.uh,r17.uh)
19*9880d681SAndroid Build Coastguard Worker
20*9880d681SAndroid Build Coastguard Worker#CHECK: 1908da97 { v23.w = vrmpy(v26.ub,{{ *}}r8.b) }
21*9880d681SAndroid Build Coastguard Workerv23.w=vrmpy(v26.ub,r8.b)
22*9880d681SAndroid Build Coastguard Worker
23*9880d681SAndroid Build Coastguard Worker#CHECK: 1915c974 { v20.uw = vrmpy(v9.ub,{{ *}}r21.ub) }
24*9880d681SAndroid Build Coastguard Workerv20.uw=vrmpy(v9.ub,r21.ub)
25*9880d681SAndroid Build Coastguard Worker
26*9880d681SAndroid Build Coastguard Worker#CHECK: 190dd446 { v6.w = vdmpy(v20.h,{{ *}}r13.b) }
27*9880d681SAndroid Build Coastguard Workerv6.w=vdmpy(v20.h,r13.b)
28*9880d681SAndroid Build Coastguard Worker
29*9880d681SAndroid Build Coastguard Worker#CHECK: 190ec030 { v17:16.h = vtmpy(v1:0.ub,{{ *}}r14.b) }
30*9880d681SAndroid Build Coastguard Workerv17:16.h=vtmpy(v1:0.ub,r14.b)
31*9880d681SAndroid Build Coastguard Worker
32*9880d681SAndroid Build Coastguard Worker#CHECK: 1918de1c { v29:28.h = vtmpy(v31:30.b,{{ *}}r24.b) }
33*9880d681SAndroid Build Coastguard Workerv29:28.h=vtmpy(v31:30.b,r24.b)
34*9880d681SAndroid Build Coastguard Worker
35*9880d681SAndroid Build Coastguard Worker#CHECK: 198dddf1 { v17.w = vmpyi(v29.w,{{ *}}r13.h) }
36*9880d681SAndroid Build Coastguard Workerv17.w=vmpyi(v29.w,r13.h)
37*9880d681SAndroid Build Coastguard Worker
38*9880d681SAndroid Build Coastguard Worker#CHECK: 19bccb13 { v19.w = vmpyi(v11.w,{{ *}}r28.b) }
39*9880d681SAndroid Build Coastguard Workerv19.w=vmpyi(v11.w,r28.b)
40*9880d681SAndroid Build Coastguard Worker
41*9880d681SAndroid Build Coastguard Worker#CHECK: 19c8cb0a { v11:10.uh = vmpy(v11.ub,{{ *}}r8.ub) }
42*9880d681SAndroid Build Coastguard Workerv11:10.uh=vmpy(v11.ub,r8.ub)
43*9880d681SAndroid Build Coastguard Worker
44*9880d681SAndroid Build Coastguard Worker#CHECK: 1973d012 { v18.h = vmpyi(v16.h,{{ *}}r19.b) }
45*9880d681SAndroid Build Coastguard Workerv18.h=vmpyi(v16.h,r19.b)
46*9880d681SAndroid Build Coastguard Worker
47*9880d681SAndroid Build Coastguard Worker#CHECK: 1922d1aa { v11:10.h = vmpy(v17.ub,{{ *}}r2.b) }
48*9880d681SAndroid Build Coastguard Workerv11:10.h=vmpy(v17.ub,r2.b)
49*9880d681SAndroid Build Coastguard Worker
50*9880d681SAndroid Build Coastguard Worker#CHECK: 1936ce9c { v29:28.w = vdmpy(v15:14.h,{{ *}}r22.b) }
51*9880d681SAndroid Build Coastguard Workerv29:28.w=vdmpy(v15:14.h,r22.b)
52*9880d681SAndroid Build Coastguard Worker
53*9880d681SAndroid Build Coastguard Worker#CHECK: 1925d86b { v11.w = vdmpy(v25:24.h,{{ *}}r5.h):sat }
54*9880d681SAndroid Build Coastguard Workerv11.w=vdmpy(v25:24.h,r5.h):sat
55*9880d681SAndroid Build Coastguard Worker
56*9880d681SAndroid Build Coastguard Worker#CHECK: 1925c255 { v21.w = vdmpy(v2.h,{{ *}}r5.h):sat }
57*9880d681SAndroid Build Coastguard Workerv21.w=vdmpy(v2.h,r5.h):sat
58*9880d681SAndroid Build Coastguard Worker
59*9880d681SAndroid Build Coastguard Worker#CHECK: 1941d424 { v4.h = vmpy(v20.h,{{ *}}r1.h):<<1:sat }
60*9880d681SAndroid Build Coastguard Workerv4.h=vmpy(v20.h,r1.h):<<1:sat
61*9880d681SAndroid Build Coastguard Worker
62*9880d681SAndroid Build Coastguard Worker#CHECK: 1943cf0a { v11:10.w = vmpy(v15.h,{{ *}}r3.h) }
63*9880d681SAndroid Build Coastguard Workerv11:10.w=vmpy(v15.h,r3.h)
64*9880d681SAndroid Build Coastguard Worker
65*9880d681SAndroid Build Coastguard Worker#CHECK: 193ec2f0 { v17:16.w = vmpa(v3:2.h,{{ *}}r30.b) }
66*9880d681SAndroid Build Coastguard Workerv17:16.w=vmpa(v3:2.h,r30.b)
67*9880d681SAndroid Build Coastguard Worker
68*9880d681SAndroid Build Coastguard Worker#CHECK: 193ddcde { v31:30.h = vmpa(v29:28.ub,{{ *}}r29.b) }
69*9880d681SAndroid Build Coastguard Workerv31:30.h=vmpa(v29:28.ub,r29.b)
70*9880d681SAndroid Build Coastguard Worker
71*9880d681SAndroid Build Coastguard Worker#CHECK: 1946de76 { v23:22.uw = vmpy(v30.uh,{{ *}}r6.uh) }
72*9880d681SAndroid Build Coastguard Workerv23:22.uw=vmpy(v30.uh,r6.uh)
73*9880d681SAndroid Build Coastguard Worker
74*9880d681SAndroid Build Coastguard Worker#CHECK: 1945c945 { v5.h = vmpy(v9.h,{{ *}}r5.h):<<1:rnd:sat }
75*9880d681SAndroid Build Coastguard Workerv5.h=vmpy(v9.h,r5.h):<<1:rnd:sat
76*9880d681SAndroid Build Coastguard Worker
77*9880d681SAndroid Build Coastguard Worker#CHECK: 19b0c280 { v1:0.w = vtmpy(v3:2.h,{{ *}}r16.b) }
78*9880d681SAndroid Build Coastguard Workerv1:0.w=vtmpy(v3:2.h,r16.b)
79*9880d681SAndroid Build Coastguard Worker
80*9880d681SAndroid Build Coastguard Worker#CHECK: 1c34d937 { v23.h = vmpy(v25.h,{{ *}}v20.h):<<1:rnd:sat }
81*9880d681SAndroid Build Coastguard Workerv23.h=vmpy(v25.h,v20.h):<<1:rnd:sat
82*9880d681SAndroid Build Coastguard Worker
83*9880d681SAndroid Build Coastguard Worker#CHECK: 1c36c90a { v11:10.uw = vmpy(v9.uh,{{ *}}v22.uh) }
84*9880d681SAndroid Build Coastguard Workerv11:10.uw=vmpy(v9.uh,v22.uh)
85*9880d681SAndroid Build Coastguard Worker
86*9880d681SAndroid Build Coastguard Worker#CHECK: 1c09c3ec { v13:12.w = vmpy(v3.h,{{ *}}v9.h) }
87*9880d681SAndroid Build Coastguard Workerv13:12.w=vmpy(v3.h,v9.h)
88*9880d681SAndroid Build Coastguard Worker
89*9880d681SAndroid Build Coastguard Worker#CHECK: 1c0dd1d8 { v25:24.h = vmpy(v17.ub,{{ *}}v13.b) }
90*9880d681SAndroid Build Coastguard Workerv25:24.h=vmpy(v17.ub,v13.b)
91*9880d681SAndroid Build Coastguard Worker
92*9880d681SAndroid Build Coastguard Worker#CHECK: 1c0dc0a4 { v5:4.uh = vmpy(v0.ub,{{ *}}v13.ub) }
93*9880d681SAndroid Build Coastguard Workerv5:4.uh=vmpy(v0.ub,v13.ub)
94*9880d681SAndroid Build Coastguard Worker
95*9880d681SAndroid Build Coastguard Worker#CHECK: 1c14df84 { v5:4.h = vmpy(v31.b,{{ *}}v20.b) }
96*9880d681SAndroid Build Coastguard Workerv5:4.h=vmpy(v31.b,v20.b)
97*9880d681SAndroid Build Coastguard Worker
98*9880d681SAndroid Build Coastguard Worker#CHECK: 1c16d77c { v28.w = vdmpy(v23.h,{{ *}}v22.h):sat }
99*9880d681SAndroid Build Coastguard Workerv28.w=vdmpy(v23.h,v22.h):sat
100*9880d681SAndroid Build Coastguard Worker
101*9880d681SAndroid Build Coastguard Worker#CHECK: 1c08d84f { v15.w = vrmpy(v24.ub,{{ *}}v8.b) }
102*9880d681SAndroid Build Coastguard Workerv15.w=vrmpy(v24.ub,v8.b)
103*9880d681SAndroid Build Coastguard Worker
104*9880d681SAndroid Build Coastguard Worker#CHECK: 1c06da29 { v9.w = vrmpy(v26.b,{{ *}}v6.b) }
105*9880d681SAndroid Build Coastguard Workerv9.w=vrmpy(v26.b,v6.b)
106*9880d681SAndroid Build Coastguard Worker
107*9880d681SAndroid Build Coastguard Worker#CHECK: 1c1ac805 { v5.uw = vrmpy(v8.ub,{{ *}}v26.ub) }
108*9880d681SAndroid Build Coastguard Workerv5.uw=vrmpy(v8.ub,v26.ub)
109*9880d681SAndroid Build Coastguard Worker
110*9880d681SAndroid Build Coastguard Worker#CHECK: 1c39d089 { v9.h = vmpyi(v16.h,{{ *}}v25.h) }
111*9880d681SAndroid Build Coastguard Workerv9.h=vmpyi(v16.h,v25.h)
112*9880d681SAndroid Build Coastguard Worker
113*9880d681SAndroid Build Coastguard Worker#CHECK: 1c3ecc64 { v5:4.h = vmpa(v13:12.ub,{{ *}}v31:30.b) }
114*9880d681SAndroid Build Coastguard Workerv5:4.h=vmpa(v13:12.ub,v31:30.b)
115*9880d681SAndroid Build Coastguard Worker
116*9880d681SAndroid Build Coastguard Worker#CHECK: 1c21ce54 { v21:20.w = vmpy(v14.h,{{ *}}v1.uh) }
117*9880d681SAndroid Build Coastguard Workerv21:20.w=vmpy(v14.h,v1.uh)
118*9880d681SAndroid Build Coastguard Worker
119*9880d681SAndroid Build Coastguard Worker#CHECK: 1cf2c6f0 { v17:16.h = vmpa(v7:6.ub,{{ *}}v19:18.ub) }
120*9880d681SAndroid Build Coastguard Workerv17:16.h=vmpa(v7:6.ub,v19:18.ub)
121*9880d681SAndroid Build Coastguard Worker
122*9880d681SAndroid Build Coastguard Worker#CHECK: 1fcdc82b { v11.w = vmpyio(v8.w{{ *}},{{ *}}v13.h) }
123*9880d681SAndroid Build Coastguard Workerv11.w=vmpyio(v8.w,v13.h)
124*9880d681SAndroid Build Coastguard Worker
125*9880d681SAndroid Build Coastguard Worker#CHECK: 1fdeda10 { v16.w = vmpyie(v26.w{{ *}},{{ *}}v30.uh) }
126*9880d681SAndroid Build Coastguard Workerv16.w=vmpyie(v26.w,v30.uh)
127*9880d681SAndroid Build Coastguard Worker
128*9880d681SAndroid Build Coastguard Worker#CHECK: 1ff2c2a6 { v6.w = vmpye(v2.w{{ *}},{{ *}}v18.uh) }
129*9880d681SAndroid Build Coastguard Workerv6.w=vmpye(v2.w,v18.uh)
130*9880d681SAndroid Build Coastguard Worker
131*9880d681SAndroid Build Coastguard Worker#CHECK: 1ff7cbfa { v26.w = vmpyo(v11.w{{ *}},{{ *}}v23.h):<<1:sat }
132*9880d681SAndroid Build Coastguard Workerv26.w=vmpyo(v11.w,v23.h):<<1:sat
133*9880d681SAndroid Build Coastguard Worker
134*9880d681SAndroid Build Coastguard Worker#CHECK: 1f5cd411 { v17.w = vmpyo(v20.w{{ *}},{{ *}}v28.h):<<1:rnd:sat }
135*9880d681SAndroid Build Coastguard Workerv17.w=vmpyo(v20.w,v28.h):<<1:rnd:sat
136*9880d681SAndroid Build Coastguard Worker
137*9880d681SAndroid Build Coastguard Worker#CHECK: 1f71cf1d { v29.w = vmpyieo(v15.h{{ *}},{{ *}}v17.h) }
138*9880d681SAndroid Build Coastguard Workerv29.w=vmpyieo(v15.h,v17.h)
139