xref: /llvm-project/llvm/test/Analysis/CostModel/RISCV/arith-int.ll (revision 38fffa630ee80163dc65e759392ad29798905679)
1e726c587SPhilip Reames; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py
26cd6bde3SShih-Po Hung; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=riscv64 -mattr=+v,+f,+d,+zfh,+zvfh < %s | FileCheck %s
36cd6bde3SShih-Po Hung; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=riscv64 -mcpu=sifive-x280 < %s | FileCheck %s --check-prefix=SIFIVE-X280
4e726c587SPhilip Reames; Check that we don't crash querying costs when vectors are not enabled.
5e726c587SPhilip Reames; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=riscv64
6e726c587SPhilip Reames
7e726c587SPhilip Reamesdefine i32 @add() {
8e726c587SPhilip Reames; CHECK-LABEL: 'add'
9e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I16 = add i16 undef, undef
10e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I32 = add i32 undef, undef
11e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I64 = add i64 undef, undef
12e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = add <1 x i16> undef, undef
13e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = add <2 x i16> undef, undef
14e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = add <4 x i16> undef, undef
15e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = add <8 x i16> undef, undef
16e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V16I16 = add <16 x i16> undef, undef
17e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %V32I16 = add <32 x i16> undef, undef
18e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = add <vscale x 1 x i16> undef, undef
19e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = add <vscale x 2 x i16> undef, undef
20e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV4I16 = add <vscale x 4 x i16> undef, undef
2173eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV8I16 = add <vscale x 8 x i16> undef, undef
2273eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV16I16 = add <vscale x 16 x i16> undef, undef
2373eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV32I16 = add <vscale x 32 x i16> undef, undef
24e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = add <1 x i32> undef, undef
25e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = add <2 x i32> undef, undef
26e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = add <4 x i32> undef, undef
27e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V8I32 = add <8 x i32> undef, undef
28e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %V16I32 = add <16 x i32> undef, undef
29e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = add <vscale x 1 x i32> undef, undef
30e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV2I32 = add <vscale x 2 x i32> undef, undef
3173eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV4I32 = add <vscale x 4 x i32> undef, undef
3273eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV8I32 = add <vscale x 8 x i32> undef, undef
3373eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV16I32 = add <vscale x 16 x i32> undef, undef
34e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = add <1 x i64> undef, undef
35e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = add <2 x i64> undef, undef
36e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V4I64 = add <4 x i64> undef, undef
37e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %V8I64 = add <8 x i64> undef, undef
38e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I64 = add <vscale x 1 x i64> undef, undef
3973eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV2I64 = add <vscale x 2 x i64> undef, undef
4073eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV4I64 = add <vscale x 4 x i64> undef, undef
4173eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV8I64 = add <vscale x 8 x i64> undef, undef
420a5d52a7SSergey Kachkov; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
43e726c587SPhilip Reames;
446ac2ce7dSCraig Topper; SIFIVE-X280-LABEL: 'add'
456ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I16 = add i16 undef, undef
466ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I32 = add i32 undef, undef
476ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I64 = add i64 undef, undef
486ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = add <1 x i16> undef, undef
496ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = add <2 x i16> undef, undef
506ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = add <4 x i16> undef, undef
516ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = add <8 x i16> undef, undef
526ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V16I16 = add <16 x i16> undef, undef
536ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V32I16 = add <32 x i16> undef, undef
546ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = add <vscale x 1 x i16> undef, undef
556ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = add <vscale x 2 x i16> undef, undef
566ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV4I16 = add <vscale x 4 x i16> undef, undef
576ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV8I16 = add <vscale x 8 x i16> undef, undef
586ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV16I16 = add <vscale x 16 x i16> undef, undef
596ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %NXV32I16 = add <vscale x 32 x i16> undef, undef
606ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = add <1 x i32> undef, undef
616ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = add <2 x i32> undef, undef
626ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = add <4 x i32> undef, undef
636ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V8I32 = add <8 x i32> undef, undef
646ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V16I32 = add <16 x i32> undef, undef
656ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = add <vscale x 1 x i32> undef, undef
666ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV2I32 = add <vscale x 2 x i32> undef, undef
676ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV4I32 = add <vscale x 4 x i32> undef, undef
686ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV8I32 = add <vscale x 8 x i32> undef, undef
696ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %NXV16I32 = add <vscale x 16 x i32> undef, undef
706ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = add <1 x i64> undef, undef
716ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = add <2 x i64> undef, undef
726ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I64 = add <4 x i64> undef, undef
736ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V8I64 = add <8 x i64> undef, undef
746ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV1I64 = add <vscale x 1 x i64> undef, undef
756ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV2I64 = add <vscale x 2 x i64> undef, undef
766ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV4I64 = add <vscale x 4 x i64> undef, undef
776ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %NXV8I64 = add <vscale x 8 x i64> undef, undef
780a5d52a7SSergey Kachkov; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
796ac2ce7dSCraig Topper;
80e726c587SPhilip Reames  %I16 = add i16 undef, undef
81e726c587SPhilip Reames  %I32 = add i32 undef, undef
82e726c587SPhilip Reames  %I64 = add i64 undef, undef
83e726c587SPhilip Reames
84e726c587SPhilip Reames  %V1I16 = add <1 x i16> undef, undef
85e726c587SPhilip Reames  %V2I16 = add <2 x i16> undef, undef
86e726c587SPhilip Reames  %V4I16 = add <4 x i16> undef, undef
87e726c587SPhilip Reames  %V8I16 = add <8 x i16> undef, undef
88e726c587SPhilip Reames  %V16I16 = add <16 x i16> undef, undef
89e726c587SPhilip Reames  %V32I16 = add <32 x i16> undef, undef
90e726c587SPhilip Reames
91e726c587SPhilip Reames  %NXV1I16 = add <vscale x 1 x i16> undef, undef
92e726c587SPhilip Reames  %NXV2I16 = add <vscale x 2 x i16> undef, undef
93e726c587SPhilip Reames  %NXV4I16 = add <vscale x 4 x i16> undef, undef
94e726c587SPhilip Reames  %NXV8I16 = add <vscale x 8 x i16> undef, undef
95e726c587SPhilip Reames  %NXV16I16 = add <vscale x 16 x i16> undef, undef
96e726c587SPhilip Reames  %NXV32I16 = add <vscale x 32 x i16> undef, undef
97e726c587SPhilip Reames
98e726c587SPhilip Reames  %V1I32 = add <1 x i32> undef, undef
99e726c587SPhilip Reames  %V2I32 = add <2 x i32> undef, undef
100e726c587SPhilip Reames  %V4I32 = add <4 x i32> undef, undef
101e726c587SPhilip Reames  %V8I32 = add <8 x i32> undef, undef
102e726c587SPhilip Reames  %V16I32 = add <16 x i32> undef, undef
103e726c587SPhilip Reames
104e726c587SPhilip Reames  %NXV1I32 = add <vscale x 1 x i32> undef, undef
105e726c587SPhilip Reames  %NXV2I32 = add <vscale x 2 x i32> undef, undef
106e726c587SPhilip Reames  %NXV4I32 = add <vscale x 4 x i32> undef, undef
107e726c587SPhilip Reames  %NXV8I32 = add <vscale x 8 x i32> undef, undef
108e726c587SPhilip Reames  %NXV16I32 = add <vscale x 16 x i32> undef, undef
109e726c587SPhilip Reames
110e726c587SPhilip Reames  %V1I64 = add <1 x i64> undef, undef
111e726c587SPhilip Reames  %V2I64 = add <2 x i64> undef, undef
112e726c587SPhilip Reames  %V4I64 = add <4 x i64> undef, undef
113e726c587SPhilip Reames  %V8I64 = add <8 x i64> undef, undef
114e726c587SPhilip Reames
115e726c587SPhilip Reames  %NXV1I64 = add <vscale x 1 x i64> undef, undef
116e726c587SPhilip Reames  %NXV2I64 = add <vscale x 2 x i64> undef, undef
117e726c587SPhilip Reames  %NXV4I64 = add <vscale x 4 x i64> undef, undef
118e726c587SPhilip Reames  %NXV8I64 = add <vscale x 8 x i64> undef, undef
119e726c587SPhilip Reames
120e726c587SPhilip Reames  ret i32 undef
121e726c587SPhilip Reames}
122e726c587SPhilip Reames
123e726c587SPhilip Reamesdefine i32 @sub() {
124e726c587SPhilip Reames; CHECK-LABEL: 'sub'
125e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I16 = sub i16 undef, undef
126e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I32 = sub i32 undef, undef
127e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I64 = sub i64 undef, undef
128e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = sub <1 x i16> undef, undef
129e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = sub <2 x i16> undef, undef
130e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = sub <4 x i16> undef, undef
131e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = sub <8 x i16> undef, undef
132e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V16I16 = sub <16 x i16> undef, undef
133e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %V32I16 = sub <32 x i16> undef, undef
134e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = sub <vscale x 1 x i16> undef, undef
135e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = sub <vscale x 2 x i16> undef, undef
136e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV4I16 = sub <vscale x 4 x i16> undef, undef
13773eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV8I16 = sub <vscale x 8 x i16> undef, undef
13873eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV16I16 = sub <vscale x 16 x i16> undef, undef
13973eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV32I16 = sub <vscale x 32 x i16> undef, undef
140e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = sub <1 x i32> undef, undef
141e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = sub <2 x i32> undef, undef
142e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = sub <4 x i32> undef, undef
143e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V8I32 = sub <8 x i32> undef, undef
144e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %V16I32 = sub <16 x i32> undef, undef
145e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = sub <vscale x 1 x i32> undef, undef
146e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV2I32 = sub <vscale x 2 x i32> undef, undef
14773eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV4I32 = sub <vscale x 4 x i32> undef, undef
14873eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV8I32 = sub <vscale x 8 x i32> undef, undef
14973eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV16I32 = sub <vscale x 16 x i32> undef, undef
150e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = sub <1 x i64> undef, undef
151e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = sub <2 x i64> undef, undef
152e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V4I64 = sub <4 x i64> undef, undef
153e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %V8I64 = sub <8 x i64> undef, undef
154e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I64 = sub <vscale x 1 x i64> undef, undef
15573eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV2I64 = sub <vscale x 2 x i64> undef, undef
15673eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV4I64 = sub <vscale x 4 x i64> undef, undef
15773eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV8I64 = sub <vscale x 8 x i64> undef, undef
1580a5d52a7SSergey Kachkov; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
159e726c587SPhilip Reames;
1606ac2ce7dSCraig Topper; SIFIVE-X280-LABEL: 'sub'
1616ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I16 = sub i16 undef, undef
1626ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I32 = sub i32 undef, undef
1636ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I64 = sub i64 undef, undef
1646ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = sub <1 x i16> undef, undef
1656ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = sub <2 x i16> undef, undef
1666ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = sub <4 x i16> undef, undef
1676ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = sub <8 x i16> undef, undef
1686ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V16I16 = sub <16 x i16> undef, undef
1696ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V32I16 = sub <32 x i16> undef, undef
1706ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = sub <vscale x 1 x i16> undef, undef
1716ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = sub <vscale x 2 x i16> undef, undef
1726ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV4I16 = sub <vscale x 4 x i16> undef, undef
1736ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV8I16 = sub <vscale x 8 x i16> undef, undef
1746ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV16I16 = sub <vscale x 16 x i16> undef, undef
1756ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %NXV32I16 = sub <vscale x 32 x i16> undef, undef
1766ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = sub <1 x i32> undef, undef
1776ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = sub <2 x i32> undef, undef
1786ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = sub <4 x i32> undef, undef
1796ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V8I32 = sub <8 x i32> undef, undef
1806ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V16I32 = sub <16 x i32> undef, undef
1816ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = sub <vscale x 1 x i32> undef, undef
1826ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV2I32 = sub <vscale x 2 x i32> undef, undef
1836ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV4I32 = sub <vscale x 4 x i32> undef, undef
1846ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV8I32 = sub <vscale x 8 x i32> undef, undef
1856ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %NXV16I32 = sub <vscale x 16 x i32> undef, undef
1866ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = sub <1 x i64> undef, undef
1876ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = sub <2 x i64> undef, undef
1886ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I64 = sub <4 x i64> undef, undef
1896ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V8I64 = sub <8 x i64> undef, undef
1906ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV1I64 = sub <vscale x 1 x i64> undef, undef
1916ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV2I64 = sub <vscale x 2 x i64> undef, undef
1926ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV4I64 = sub <vscale x 4 x i64> undef, undef
1936ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %NXV8I64 = sub <vscale x 8 x i64> undef, undef
1940a5d52a7SSergey Kachkov; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
1956ac2ce7dSCraig Topper;
196e726c587SPhilip Reames  %I16 = sub i16 undef, undef
197e726c587SPhilip Reames  %I32 = sub i32 undef, undef
198e726c587SPhilip Reames  %I64 = sub i64 undef, undef
199e726c587SPhilip Reames
200e726c587SPhilip Reames  %V1I16 = sub <1 x i16> undef, undef
201e726c587SPhilip Reames  %V2I16 = sub <2 x i16> undef, undef
202e726c587SPhilip Reames  %V4I16 = sub <4 x i16> undef, undef
203e726c587SPhilip Reames  %V8I16 = sub <8 x i16> undef, undef
204e726c587SPhilip Reames  %V16I16 = sub <16 x i16> undef, undef
205e726c587SPhilip Reames  %V32I16 = sub <32 x i16> undef, undef
206e726c587SPhilip Reames
207e726c587SPhilip Reames  %NXV1I16 = sub <vscale x 1 x i16> undef, undef
208e726c587SPhilip Reames  %NXV2I16 = sub <vscale x 2 x i16> undef, undef
209e726c587SPhilip Reames  %NXV4I16 = sub <vscale x 4 x i16> undef, undef
210e726c587SPhilip Reames  %NXV8I16 = sub <vscale x 8 x i16> undef, undef
211e726c587SPhilip Reames  %NXV16I16 = sub <vscale x 16 x i16> undef, undef
212e726c587SPhilip Reames  %NXV32I16 = sub <vscale x 32 x i16> undef, undef
213e726c587SPhilip Reames
214e726c587SPhilip Reames  %V1I32 = sub <1 x i32> undef, undef
215e726c587SPhilip Reames  %V2I32 = sub <2 x i32> undef, undef
216e726c587SPhilip Reames  %V4I32 = sub <4 x i32> undef, undef
217e726c587SPhilip Reames  %V8I32 = sub <8 x i32> undef, undef
218e726c587SPhilip Reames  %V16I32 = sub <16 x i32> undef, undef
219e726c587SPhilip Reames
220e726c587SPhilip Reames  %NXV1I32 = sub <vscale x 1 x i32> undef, undef
221e726c587SPhilip Reames  %NXV2I32 = sub <vscale x 2 x i32> undef, undef
222e726c587SPhilip Reames  %NXV4I32 = sub <vscale x 4 x i32> undef, undef
223e726c587SPhilip Reames  %NXV8I32 = sub <vscale x 8 x i32> undef, undef
224e726c587SPhilip Reames  %NXV16I32 = sub <vscale x 16 x i32> undef, undef
225e726c587SPhilip Reames
226e726c587SPhilip Reames  %V1I64 = sub <1 x i64> undef, undef
227e726c587SPhilip Reames  %V2I64 = sub <2 x i64> undef, undef
228e726c587SPhilip Reames  %V4I64 = sub <4 x i64> undef, undef
229e726c587SPhilip Reames  %V8I64 = sub <8 x i64> undef, undef
230e726c587SPhilip Reames
231e726c587SPhilip Reames  %NXV1I64 = sub <vscale x 1 x i64> undef, undef
232e726c587SPhilip Reames  %NXV2I64 = sub <vscale x 2 x i64> undef, undef
233e726c587SPhilip Reames  %NXV4I64 = sub <vscale x 4 x i64> undef, undef
234e726c587SPhilip Reames  %NXV8I64 = sub <vscale x 8 x i64> undef, undef
235e726c587SPhilip Reames
236e726c587SPhilip Reames  ret i32 undef
237e726c587SPhilip Reames}
238e726c587SPhilip Reames
239e726c587SPhilip Reamesdefine i32 @mul() {
240e726c587SPhilip Reames; CHECK-LABEL: 'mul'
241e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I16 = mul i16 undef, undef
242e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I32 = mul i32 undef, undef
243e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I64 = mul i64 undef, undef
244e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = mul <1 x i16> undef, undef
245e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = mul <2 x i16> undef, undef
246e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = mul <4 x i16> undef, undef
247e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = mul <8 x i16> undef, undef
248e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V16I16 = mul <16 x i16> undef, undef
249e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %V32I16 = mul <32 x i16> undef, undef
250e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = mul <vscale x 1 x i16> undef, undef
251e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = mul <vscale x 2 x i16> undef, undef
252e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV4I16 = mul <vscale x 4 x i16> undef, undef
25373eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV8I16 = mul <vscale x 8 x i16> undef, undef
25473eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV16I16 = mul <vscale x 16 x i16> undef, undef
25573eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV32I16 = mul <vscale x 32 x i16> undef, undef
256e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = mul <1 x i32> undef, undef
257e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = mul <2 x i32> undef, undef
258e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = mul <4 x i32> undef, undef
259e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V8I32 = mul <8 x i32> undef, undef
260e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %V16I32 = mul <16 x i32> undef, undef
261e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = mul <vscale x 1 x i32> undef, undef
262e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV2I32 = mul <vscale x 2 x i32> undef, undef
26373eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV4I32 = mul <vscale x 4 x i32> undef, undef
26473eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV8I32 = mul <vscale x 8 x i32> undef, undef
26573eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV16I32 = mul <vscale x 16 x i32> undef, undef
266e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = mul <1 x i64> undef, undef
267e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = mul <2 x i64> undef, undef
268e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V4I64 = mul <4 x i64> undef, undef
269e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %V8I64 = mul <8 x i64> undef, undef
270e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I64 = mul <vscale x 1 x i64> undef, undef
27173eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV2I64 = mul <vscale x 2 x i64> undef, undef
27273eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV4I64 = mul <vscale x 4 x i64> undef, undef
27373eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV8I64 = mul <vscale x 8 x i64> undef, undef
2740a5d52a7SSergey Kachkov; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
275e726c587SPhilip Reames;
2766ac2ce7dSCraig Topper; SIFIVE-X280-LABEL: 'mul'
2776ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I16 = mul i16 undef, undef
2786ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I32 = mul i32 undef, undef
2796ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I64 = mul i64 undef, undef
2806ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = mul <1 x i16> undef, undef
2816ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = mul <2 x i16> undef, undef
2826ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = mul <4 x i16> undef, undef
2836ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = mul <8 x i16> undef, undef
2846ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V16I16 = mul <16 x i16> undef, undef
2856ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V32I16 = mul <32 x i16> undef, undef
2866ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = mul <vscale x 1 x i16> undef, undef
2876ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = mul <vscale x 2 x i16> undef, undef
2886ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV4I16 = mul <vscale x 4 x i16> undef, undef
2896ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV8I16 = mul <vscale x 8 x i16> undef, undef
2906ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV16I16 = mul <vscale x 16 x i16> undef, undef
2916ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %NXV32I16 = mul <vscale x 32 x i16> undef, undef
2926ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = mul <1 x i32> undef, undef
2936ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = mul <2 x i32> undef, undef
2946ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = mul <4 x i32> undef, undef
2956ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V8I32 = mul <8 x i32> undef, undef
2966ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V16I32 = mul <16 x i32> undef, undef
2976ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = mul <vscale x 1 x i32> undef, undef
2986ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV2I32 = mul <vscale x 2 x i32> undef, undef
2996ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV4I32 = mul <vscale x 4 x i32> undef, undef
3006ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV8I32 = mul <vscale x 8 x i32> undef, undef
3016ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %NXV16I32 = mul <vscale x 16 x i32> undef, undef
3026ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = mul <1 x i64> undef, undef
3036ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = mul <2 x i64> undef, undef
3046ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I64 = mul <4 x i64> undef, undef
3056ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V8I64 = mul <8 x i64> undef, undef
3066ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV1I64 = mul <vscale x 1 x i64> undef, undef
3076ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV2I64 = mul <vscale x 2 x i64> undef, undef
3086ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV4I64 = mul <vscale x 4 x i64> undef, undef
3096ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %NXV8I64 = mul <vscale x 8 x i64> undef, undef
3100a5d52a7SSergey Kachkov; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
3116ac2ce7dSCraig Topper;
312e726c587SPhilip Reames  %I16 = mul i16 undef, undef
313e726c587SPhilip Reames  %I32 = mul i32 undef, undef
314e726c587SPhilip Reames  %I64 = mul i64 undef, undef
315e726c587SPhilip Reames
316e726c587SPhilip Reames  %V1I16 = mul <1 x i16> undef, undef
317e726c587SPhilip Reames  %V2I16 = mul <2 x i16> undef, undef
318e726c587SPhilip Reames  %V4I16 = mul <4 x i16> undef, undef
319e726c587SPhilip Reames  %V8I16 = mul <8 x i16> undef, undef
320e726c587SPhilip Reames  %V16I16 = mul <16 x i16> undef, undef
321e726c587SPhilip Reames  %V32I16 = mul <32 x i16> undef, undef
322e726c587SPhilip Reames
323e726c587SPhilip Reames  %NXV1I16 = mul <vscale x 1 x i16> undef, undef
324e726c587SPhilip Reames  %NXV2I16 = mul <vscale x 2 x i16> undef, undef
325e726c587SPhilip Reames  %NXV4I16 = mul <vscale x 4 x i16> undef, undef
326e726c587SPhilip Reames  %NXV8I16 = mul <vscale x 8 x i16> undef, undef
327e726c587SPhilip Reames  %NXV16I16 = mul <vscale x 16 x i16> undef, undef
328e726c587SPhilip Reames  %NXV32I16 = mul <vscale x 32 x i16> undef, undef
329e726c587SPhilip Reames
330e726c587SPhilip Reames  %V1I32 = mul <1 x i32> undef, undef
331e726c587SPhilip Reames  %V2I32 = mul <2 x i32> undef, undef
332e726c587SPhilip Reames  %V4I32 = mul <4 x i32> undef, undef
333e726c587SPhilip Reames  %V8I32 = mul <8 x i32> undef, undef
334e726c587SPhilip Reames  %V16I32 = mul <16 x i32> undef, undef
335e726c587SPhilip Reames
336e726c587SPhilip Reames  %NXV1I32 = mul <vscale x 1 x i32> undef, undef
337e726c587SPhilip Reames  %NXV2I32 = mul <vscale x 2 x i32> undef, undef
338e726c587SPhilip Reames  %NXV4I32 = mul <vscale x 4 x i32> undef, undef
339e726c587SPhilip Reames  %NXV8I32 = mul <vscale x 8 x i32> undef, undef
340e726c587SPhilip Reames  %NXV16I32 = mul <vscale x 16 x i32> undef, undef
341e726c587SPhilip Reames
342e726c587SPhilip Reames  %V1I64 = mul <1 x i64> undef, undef
343e726c587SPhilip Reames  %V2I64 = mul <2 x i64> undef, undef
344e726c587SPhilip Reames  %V4I64 = mul <4 x i64> undef, undef
345e726c587SPhilip Reames  %V8I64 = mul <8 x i64> undef, undef
346e726c587SPhilip Reames
347e726c587SPhilip Reames  %NXV1I64 = mul <vscale x 1 x i64> undef, undef
348e726c587SPhilip Reames  %NXV2I64 = mul <vscale x 2 x i64> undef, undef
349e726c587SPhilip Reames  %NXV4I64 = mul <vscale x 4 x i64> undef, undef
350e726c587SPhilip Reames  %NXV8I64 = mul <vscale x 8 x i64> undef, undef
351e726c587SPhilip Reames
352e726c587SPhilip Reames  ret i32 undef
353e726c587SPhilip Reames}
354e726c587SPhilip Reames
355e726c587SPhilip Reamesdefine i32 @shl() {
356e726c587SPhilip Reames; CHECK-LABEL: 'shl'
357e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I16 = shl i16 undef, undef
358e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I32 = shl i32 undef, undef
359e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I64 = shl i64 undef, undef
360e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = shl <1 x i16> undef, undef
361e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = shl <2 x i16> undef, undef
362e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = shl <4 x i16> undef, undef
363e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = shl <8 x i16> undef, undef
364e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V16I16 = shl <16 x i16> undef, undef
365e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %V32I16 = shl <32 x i16> undef, undef
366e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = shl <vscale x 1 x i16> undef, undef
367e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = shl <vscale x 2 x i16> undef, undef
368e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV4I16 = shl <vscale x 4 x i16> undef, undef
36973eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV8I16 = shl <vscale x 8 x i16> undef, undef
37073eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV16I16 = shl <vscale x 16 x i16> undef, undef
37173eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV32I16 = shl <vscale x 32 x i16> undef, undef
372e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = shl <1 x i32> undef, undef
373e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = shl <2 x i32> undef, undef
374e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = shl <4 x i32> undef, undef
375e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V8I32 = shl <8 x i32> undef, undef
376e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %V16I32 = shl <16 x i32> undef, undef
377e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = shl <vscale x 1 x i32> undef, undef
378e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV2I32 = shl <vscale x 2 x i32> undef, undef
37973eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV4I32 = shl <vscale x 4 x i32> undef, undef
38073eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV8I32 = shl <vscale x 8 x i32> undef, undef
38173eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV16I32 = shl <vscale x 16 x i32> undef, undef
382e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = shl <1 x i64> undef, undef
383e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = shl <2 x i64> undef, undef
384e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V4I64 = shl <4 x i64> undef, undef
385e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %V8I64 = shl <8 x i64> undef, undef
386e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I64 = shl <vscale x 1 x i64> undef, undef
38773eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV2I64 = shl <vscale x 2 x i64> undef, undef
38873eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV4I64 = shl <vscale x 4 x i64> undef, undef
38973eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV8I64 = shl <vscale x 8 x i64> undef, undef
3900a5d52a7SSergey Kachkov; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
391e726c587SPhilip Reames;
3926ac2ce7dSCraig Topper; SIFIVE-X280-LABEL: 'shl'
3936ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I16 = shl i16 undef, undef
3946ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I32 = shl i32 undef, undef
3956ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I64 = shl i64 undef, undef
3966ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = shl <1 x i16> undef, undef
3976ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = shl <2 x i16> undef, undef
3986ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = shl <4 x i16> undef, undef
3996ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = shl <8 x i16> undef, undef
4006ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V16I16 = shl <16 x i16> undef, undef
4016ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V32I16 = shl <32 x i16> undef, undef
4026ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = shl <vscale x 1 x i16> undef, undef
4036ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = shl <vscale x 2 x i16> undef, undef
4046ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV4I16 = shl <vscale x 4 x i16> undef, undef
4056ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV8I16 = shl <vscale x 8 x i16> undef, undef
4066ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV16I16 = shl <vscale x 16 x i16> undef, undef
4076ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %NXV32I16 = shl <vscale x 32 x i16> undef, undef
4086ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = shl <1 x i32> undef, undef
4096ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = shl <2 x i32> undef, undef
4106ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = shl <4 x i32> undef, undef
4116ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V8I32 = shl <8 x i32> undef, undef
4126ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V16I32 = shl <16 x i32> undef, undef
4136ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = shl <vscale x 1 x i32> undef, undef
4146ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV2I32 = shl <vscale x 2 x i32> undef, undef
4156ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV4I32 = shl <vscale x 4 x i32> undef, undef
4166ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV8I32 = shl <vscale x 8 x i32> undef, undef
4176ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %NXV16I32 = shl <vscale x 16 x i32> undef, undef
4186ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = shl <1 x i64> undef, undef
4196ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = shl <2 x i64> undef, undef
4206ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I64 = shl <4 x i64> undef, undef
4216ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V8I64 = shl <8 x i64> undef, undef
4226ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV1I64 = shl <vscale x 1 x i64> undef, undef
4236ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV2I64 = shl <vscale x 2 x i64> undef, undef
4246ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV4I64 = shl <vscale x 4 x i64> undef, undef
4256ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %NXV8I64 = shl <vscale x 8 x i64> undef, undef
4260a5d52a7SSergey Kachkov; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
4276ac2ce7dSCraig Topper;
428e726c587SPhilip Reames  %I16 = shl i16 undef, undef
429e726c587SPhilip Reames  %I32 = shl i32 undef, undef
430e726c587SPhilip Reames  %I64 = shl i64 undef, undef
431e726c587SPhilip Reames
432e726c587SPhilip Reames  %V1I16 = shl <1 x i16> undef, undef
433e726c587SPhilip Reames  %V2I16 = shl <2 x i16> undef, undef
434e726c587SPhilip Reames  %V4I16 = shl <4 x i16> undef, undef
435e726c587SPhilip Reames  %V8I16 = shl <8 x i16> undef, undef
436e726c587SPhilip Reames  %V16I16 = shl <16 x i16> undef, undef
437e726c587SPhilip Reames  %V32I16 = shl <32 x i16> undef, undef
438e726c587SPhilip Reames
439e726c587SPhilip Reames  %NXV1I16 = shl <vscale x 1 x i16> undef, undef
440e726c587SPhilip Reames  %NXV2I16 = shl <vscale x 2 x i16> undef, undef
441e726c587SPhilip Reames  %NXV4I16 = shl <vscale x 4 x i16> undef, undef
442e726c587SPhilip Reames  %NXV8I16 = shl <vscale x 8 x i16> undef, undef
443e726c587SPhilip Reames  %NXV16I16 = shl <vscale x 16 x i16> undef, undef
444e726c587SPhilip Reames  %NXV32I16 = shl <vscale x 32 x i16> undef, undef
445e726c587SPhilip Reames
446e726c587SPhilip Reames  %V1I32 = shl <1 x i32> undef, undef
447e726c587SPhilip Reames  %V2I32 = shl <2 x i32> undef, undef
448e726c587SPhilip Reames  %V4I32 = shl <4 x i32> undef, undef
449e726c587SPhilip Reames  %V8I32 = shl <8 x i32> undef, undef
450e726c587SPhilip Reames  %V16I32 = shl <16 x i32> undef, undef
451e726c587SPhilip Reames
452e726c587SPhilip Reames  %NXV1I32 = shl <vscale x 1 x i32> undef, undef
453e726c587SPhilip Reames  %NXV2I32 = shl <vscale x 2 x i32> undef, undef
454e726c587SPhilip Reames  %NXV4I32 = shl <vscale x 4 x i32> undef, undef
455e726c587SPhilip Reames  %NXV8I32 = shl <vscale x 8 x i32> undef, undef
456e726c587SPhilip Reames  %NXV16I32 = shl <vscale x 16 x i32> undef, undef
457e726c587SPhilip Reames
458e726c587SPhilip Reames  %V1I64 = shl <1 x i64> undef, undef
459e726c587SPhilip Reames  %V2I64 = shl <2 x i64> undef, undef
460e726c587SPhilip Reames  %V4I64 = shl <4 x i64> undef, undef
461e726c587SPhilip Reames  %V8I64 = shl <8 x i64> undef, undef
462e726c587SPhilip Reames
463e726c587SPhilip Reames  %NXV1I64 = shl <vscale x 1 x i64> undef, undef
464e726c587SPhilip Reames  %NXV2I64 = shl <vscale x 2 x i64> undef, undef
465e726c587SPhilip Reames  %NXV4I64 = shl <vscale x 4 x i64> undef, undef
466e726c587SPhilip Reames  %NXV8I64 = shl <vscale x 8 x i64> undef, undef
467e726c587SPhilip Reames
468e726c587SPhilip Reames  ret i32 undef
469e726c587SPhilip Reames}
470e726c587SPhilip Reames
471e726c587SPhilip Reamesdefine i32 @lshr() {
472e726c587SPhilip Reames; CHECK-LABEL: 'lshr'
473e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I16 = lshr i16 undef, undef
474e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I32 = lshr i32 undef, undef
475e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I64 = lshr i64 undef, undef
476e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = lshr <1 x i16> undef, undef
477e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = lshr <2 x i16> undef, undef
478e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = lshr <4 x i16> undef, undef
479e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = lshr <8 x i16> undef, undef
480e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V16I16 = lshr <16 x i16> undef, undef
481e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %V32I16 = lshr <32 x i16> undef, undef
482e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = lshr <vscale x 1 x i16> undef, undef
483e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = lshr <vscale x 2 x i16> undef, undef
484e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV4I16 = lshr <vscale x 4 x i16> undef, undef
48573eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV8I16 = lshr <vscale x 8 x i16> undef, undef
48673eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV16I16 = lshr <vscale x 16 x i16> undef, undef
48773eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV32I16 = lshr <vscale x 32 x i16> undef, undef
488e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = lshr <1 x i32> undef, undef
489e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = lshr <2 x i32> undef, undef
490e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = lshr <4 x i32> undef, undef
491e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V8I32 = lshr <8 x i32> undef, undef
492e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %V16I32 = lshr <16 x i32> undef, undef
493e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = lshr <vscale x 1 x i32> undef, undef
494e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV2I32 = lshr <vscale x 2 x i32> undef, undef
49573eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV4I32 = lshr <vscale x 4 x i32> undef, undef
49673eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV8I32 = lshr <vscale x 8 x i32> undef, undef
49773eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV16I32 = lshr <vscale x 16 x i32> undef, undef
498e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = lshr <1 x i64> undef, undef
499e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = lshr <2 x i64> undef, undef
500e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V4I64 = lshr <4 x i64> undef, undef
501e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %V8I64 = lshr <8 x i64> undef, undef
502e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I64 = lshr <vscale x 1 x i64> undef, undef
50373eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV2I64 = lshr <vscale x 2 x i64> undef, undef
50473eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV4I64 = lshr <vscale x 4 x i64> undef, undef
50573eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV8I64 = lshr <vscale x 8 x i64> undef, undef
5060a5d52a7SSergey Kachkov; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
507e726c587SPhilip Reames;
5086ac2ce7dSCraig Topper; SIFIVE-X280-LABEL: 'lshr'
5096ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I16 = lshr i16 undef, undef
5106ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I32 = lshr i32 undef, undef
5116ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I64 = lshr i64 undef, undef
5126ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = lshr <1 x i16> undef, undef
5136ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = lshr <2 x i16> undef, undef
5146ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = lshr <4 x i16> undef, undef
5156ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = lshr <8 x i16> undef, undef
5166ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V16I16 = lshr <16 x i16> undef, undef
5176ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V32I16 = lshr <32 x i16> undef, undef
5186ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = lshr <vscale x 1 x i16> undef, undef
5196ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = lshr <vscale x 2 x i16> undef, undef
5206ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV4I16 = lshr <vscale x 4 x i16> undef, undef
5216ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV8I16 = lshr <vscale x 8 x i16> undef, undef
5226ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV16I16 = lshr <vscale x 16 x i16> undef, undef
5236ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %NXV32I16 = lshr <vscale x 32 x i16> undef, undef
5246ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = lshr <1 x i32> undef, undef
5256ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = lshr <2 x i32> undef, undef
5266ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = lshr <4 x i32> undef, undef
5276ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V8I32 = lshr <8 x i32> undef, undef
5286ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V16I32 = lshr <16 x i32> undef, undef
5296ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = lshr <vscale x 1 x i32> undef, undef
5306ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV2I32 = lshr <vscale x 2 x i32> undef, undef
5316ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV4I32 = lshr <vscale x 4 x i32> undef, undef
5326ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV8I32 = lshr <vscale x 8 x i32> undef, undef
5336ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %NXV16I32 = lshr <vscale x 16 x i32> undef, undef
5346ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = lshr <1 x i64> undef, undef
5356ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = lshr <2 x i64> undef, undef
5366ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I64 = lshr <4 x i64> undef, undef
5376ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V8I64 = lshr <8 x i64> undef, undef
5386ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV1I64 = lshr <vscale x 1 x i64> undef, undef
5396ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV2I64 = lshr <vscale x 2 x i64> undef, undef
5406ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV4I64 = lshr <vscale x 4 x i64> undef, undef
5416ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %NXV8I64 = lshr <vscale x 8 x i64> undef, undef
5420a5d52a7SSergey Kachkov; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
5436ac2ce7dSCraig Topper;
544e726c587SPhilip Reames  %I16 = lshr i16 undef, undef
545e726c587SPhilip Reames  %I32 = lshr i32 undef, undef
546e726c587SPhilip Reames  %I64 = lshr i64 undef, undef
547e726c587SPhilip Reames
548e726c587SPhilip Reames  %V1I16 = lshr <1 x i16> undef, undef
549e726c587SPhilip Reames  %V2I16 = lshr <2 x i16> undef, undef
550e726c587SPhilip Reames  %V4I16 = lshr <4 x i16> undef, undef
551e726c587SPhilip Reames  %V8I16 = lshr <8 x i16> undef, undef
552e726c587SPhilip Reames  %V16I16 = lshr <16 x i16> undef, undef
553e726c587SPhilip Reames  %V32I16 = lshr <32 x i16> undef, undef
554e726c587SPhilip Reames
555e726c587SPhilip Reames  %NXV1I16 = lshr <vscale x 1 x i16> undef, undef
556e726c587SPhilip Reames  %NXV2I16 = lshr <vscale x 2 x i16> undef, undef
557e726c587SPhilip Reames  %NXV4I16 = lshr <vscale x 4 x i16> undef, undef
558e726c587SPhilip Reames  %NXV8I16 = lshr <vscale x 8 x i16> undef, undef
559e726c587SPhilip Reames  %NXV16I16 = lshr <vscale x 16 x i16> undef, undef
560e726c587SPhilip Reames  %NXV32I16 = lshr <vscale x 32 x i16> undef, undef
561e726c587SPhilip Reames
562e726c587SPhilip Reames  %V1I32 = lshr <1 x i32> undef, undef
563e726c587SPhilip Reames  %V2I32 = lshr <2 x i32> undef, undef
564e726c587SPhilip Reames  %V4I32 = lshr <4 x i32> undef, undef
565e726c587SPhilip Reames  %V8I32 = lshr <8 x i32> undef, undef
566e726c587SPhilip Reames  %V16I32 = lshr <16 x i32> undef, undef
567e726c587SPhilip Reames
568e726c587SPhilip Reames  %NXV1I32 = lshr <vscale x 1 x i32> undef, undef
569e726c587SPhilip Reames  %NXV2I32 = lshr <vscale x 2 x i32> undef, undef
570e726c587SPhilip Reames  %NXV4I32 = lshr <vscale x 4 x i32> undef, undef
571e726c587SPhilip Reames  %NXV8I32 = lshr <vscale x 8 x i32> undef, undef
572e726c587SPhilip Reames  %NXV16I32 = lshr <vscale x 16 x i32> undef, undef
573e726c587SPhilip Reames
574e726c587SPhilip Reames  %V1I64 = lshr <1 x i64> undef, undef
575e726c587SPhilip Reames  %V2I64 = lshr <2 x i64> undef, undef
576e726c587SPhilip Reames  %V4I64 = lshr <4 x i64> undef, undef
577e726c587SPhilip Reames  %V8I64 = lshr <8 x i64> undef, undef
578e726c587SPhilip Reames
579e726c587SPhilip Reames  %NXV1I64 = lshr <vscale x 1 x i64> undef, undef
580e726c587SPhilip Reames  %NXV2I64 = lshr <vscale x 2 x i64> undef, undef
581e726c587SPhilip Reames  %NXV4I64 = lshr <vscale x 4 x i64> undef, undef
582e726c587SPhilip Reames  %NXV8I64 = lshr <vscale x 8 x i64> undef, undef
583e726c587SPhilip Reames
584e726c587SPhilip Reames  ret i32 undef
585e726c587SPhilip Reames}
586e726c587SPhilip Reames
587e726c587SPhilip Reamesdefine i32 @ashr() {
588e726c587SPhilip Reames; CHECK-LABEL: 'ashr'
589e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I16 = ashr i16 undef, undef
590e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I32 = ashr i32 undef, undef
591e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I64 = ashr i64 undef, undef
592e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = ashr <1 x i16> undef, undef
593e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = ashr <2 x i16> undef, undef
594e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = ashr <4 x i16> undef, undef
595e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = ashr <8 x i16> undef, undef
596e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V16I16 = ashr <16 x i16> undef, undef
597e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %V32I16 = ashr <32 x i16> undef, undef
598e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = ashr <vscale x 1 x i16> undef, undef
599e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = ashr <vscale x 2 x i16> undef, undef
600e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV4I16 = ashr <vscale x 4 x i16> undef, undef
60173eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV8I16 = ashr <vscale x 8 x i16> undef, undef
60273eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV16I16 = ashr <vscale x 16 x i16> undef, undef
60373eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV32I16 = ashr <vscale x 32 x i16> undef, undef
604e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = ashr <1 x i32> undef, undef
605e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = ashr <2 x i32> undef, undef
606e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = ashr <4 x i32> undef, undef
607e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V8I32 = ashr <8 x i32> undef, undef
608e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %V16I32 = ashr <16 x i32> undef, undef
609e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = ashr <vscale x 1 x i32> undef, undef
610e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV2I32 = ashr <vscale x 2 x i32> undef, undef
61173eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV4I32 = ashr <vscale x 4 x i32> undef, undef
61273eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV8I32 = ashr <vscale x 8 x i32> undef, undef
61373eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV16I32 = ashr <vscale x 16 x i32> undef, undef
614e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = ashr <1 x i64> undef, undef
615e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = ashr <2 x i64> undef, undef
616e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V4I64 = ashr <4 x i64> undef, undef
617e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %V8I64 = ashr <8 x i64> undef, undef
618e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I64 = ashr <vscale x 1 x i64> undef, undef
61973eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV2I64 = ashr <vscale x 2 x i64> undef, undef
62073eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV4I64 = ashr <vscale x 4 x i64> undef, undef
62173eacf94SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV8I64 = ashr <vscale x 8 x i64> undef, undef
6220a5d52a7SSergey Kachkov; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
623e726c587SPhilip Reames;
6246ac2ce7dSCraig Topper; SIFIVE-X280-LABEL: 'ashr'
6256ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I16 = ashr i16 undef, undef
6266ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I32 = ashr i32 undef, undef
6276ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I64 = ashr i64 undef, undef
6286ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = ashr <1 x i16> undef, undef
6296ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = ashr <2 x i16> undef, undef
6306ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = ashr <4 x i16> undef, undef
6316ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = ashr <8 x i16> undef, undef
6326ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V16I16 = ashr <16 x i16> undef, undef
6336ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V32I16 = ashr <32 x i16> undef, undef
6346ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = ashr <vscale x 1 x i16> undef, undef
6356ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = ashr <vscale x 2 x i16> undef, undef
6366ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV4I16 = ashr <vscale x 4 x i16> undef, undef
6376ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV8I16 = ashr <vscale x 8 x i16> undef, undef
6386ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV16I16 = ashr <vscale x 16 x i16> undef, undef
6396ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %NXV32I16 = ashr <vscale x 32 x i16> undef, undef
6406ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = ashr <1 x i32> undef, undef
6416ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = ashr <2 x i32> undef, undef
6426ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = ashr <4 x i32> undef, undef
6436ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V8I32 = ashr <8 x i32> undef, undef
6446ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V16I32 = ashr <16 x i32> undef, undef
6456ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = ashr <vscale x 1 x i32> undef, undef
6466ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV2I32 = ashr <vscale x 2 x i32> undef, undef
6476ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV4I32 = ashr <vscale x 4 x i32> undef, undef
6486ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV8I32 = ashr <vscale x 8 x i32> undef, undef
6496ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %NXV16I32 = ashr <vscale x 16 x i32> undef, undef
6506ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = ashr <1 x i64> undef, undef
6516ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = ashr <2 x i64> undef, undef
6526ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I64 = ashr <4 x i64> undef, undef
6536ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V8I64 = ashr <8 x i64> undef, undef
6546ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV1I64 = ashr <vscale x 1 x i64> undef, undef
6556ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV2I64 = ashr <vscale x 2 x i64> undef, undef
6566ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV4I64 = ashr <vscale x 4 x i64> undef, undef
6576ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %NXV8I64 = ashr <vscale x 8 x i64> undef, undef
6580a5d52a7SSergey Kachkov; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
6596ac2ce7dSCraig Topper;
660e726c587SPhilip Reames  %I16 = ashr i16 undef, undef
661e726c587SPhilip Reames  %I32 = ashr i32 undef, undef
662e726c587SPhilip Reames  %I64 = ashr i64 undef, undef
663e726c587SPhilip Reames
664e726c587SPhilip Reames  %V1I16 = ashr <1 x i16> undef, undef
665e726c587SPhilip Reames  %V2I16 = ashr <2 x i16> undef, undef
666e726c587SPhilip Reames  %V4I16 = ashr <4 x i16> undef, undef
667e726c587SPhilip Reames  %V8I16 = ashr <8 x i16> undef, undef
668e726c587SPhilip Reames  %V16I16 = ashr <16 x i16> undef, undef
669e726c587SPhilip Reames  %V32I16 = ashr <32 x i16> undef, undef
670e726c587SPhilip Reames
671e726c587SPhilip Reames  %NXV1I16 = ashr <vscale x 1 x i16> undef, undef
672e726c587SPhilip Reames  %NXV2I16 = ashr <vscale x 2 x i16> undef, undef
673e726c587SPhilip Reames  %NXV4I16 = ashr <vscale x 4 x i16> undef, undef
674e726c587SPhilip Reames  %NXV8I16 = ashr <vscale x 8 x i16> undef, undef
675e726c587SPhilip Reames  %NXV16I16 = ashr <vscale x 16 x i16> undef, undef
676e726c587SPhilip Reames  %NXV32I16 = ashr <vscale x 32 x i16> undef, undef
677e726c587SPhilip Reames
678e726c587SPhilip Reames  %V1I32 = ashr <1 x i32> undef, undef
679e726c587SPhilip Reames  %V2I32 = ashr <2 x i32> undef, undef
680e726c587SPhilip Reames  %V4I32 = ashr <4 x i32> undef, undef
681e726c587SPhilip Reames  %V8I32 = ashr <8 x i32> undef, undef
682e726c587SPhilip Reames  %V16I32 = ashr <16 x i32> undef, undef
683e726c587SPhilip Reames
684e726c587SPhilip Reames  %NXV1I32 = ashr <vscale x 1 x i32> undef, undef
685e726c587SPhilip Reames  %NXV2I32 = ashr <vscale x 2 x i32> undef, undef
686e726c587SPhilip Reames  %NXV4I32 = ashr <vscale x 4 x i32> undef, undef
687e726c587SPhilip Reames  %NXV8I32 = ashr <vscale x 8 x i32> undef, undef
688e726c587SPhilip Reames  %NXV16I32 = ashr <vscale x 16 x i32> undef, undef
689e726c587SPhilip Reames
690e726c587SPhilip Reames  %V1I64 = ashr <1 x i64> undef, undef
691e726c587SPhilip Reames  %V2I64 = ashr <2 x i64> undef, undef
692e726c587SPhilip Reames  %V4I64 = ashr <4 x i64> undef, undef
693e726c587SPhilip Reames  %V8I64 = ashr <8 x i64> undef, undef
694e726c587SPhilip Reames
695e726c587SPhilip Reames  %NXV1I64 = ashr <vscale x 1 x i64> undef, undef
696e726c587SPhilip Reames  %NXV2I64 = ashr <vscale x 2 x i64> undef, undef
697e726c587SPhilip Reames  %NXV4I64 = ashr <vscale x 4 x i64> undef, undef
698e726c587SPhilip Reames  %NXV8I64 = ashr <vscale x 8 x i64> undef, undef
699e726c587SPhilip Reames
700e726c587SPhilip Reames  ret i32 undef
701e726c587SPhilip Reames}
702e726c587SPhilip Reames
703e726c587SPhilip Reamesdefine i32 @udiv() {
704e726c587SPhilip Reames; CHECK-LABEL: 'udiv'
705e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I16 = udiv i16 undef, undef
706e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I32 = udiv i32 undef, undef
707e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I64 = udiv i64 undef, undef
70822213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = udiv <1 x i16> undef, undef
70922213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = udiv <2 x i16> undef, undef
71022213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = udiv <4 x i16> undef, undef
71122213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = udiv <8 x i16> undef, undef
7126cd6bde3SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V16I16 = udiv <16 x i16> undef, undef
71322213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %V32I16 = udiv <32 x i16> undef, undef
714e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = udiv <vscale x 1 x i16> undef, undef
715e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = udiv <vscale x 2 x i16> undef, undef
716e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV4I16 = udiv <vscale x 4 x i16> undef, undef
71722213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV8I16 = udiv <vscale x 8 x i16> undef, undef
71822213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV16I16 = udiv <vscale x 16 x i16> undef, undef
71922213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV32I16 = udiv <vscale x 32 x i16> undef, undef
72022213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = udiv <1 x i32> undef, undef
72122213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = udiv <2 x i32> undef, undef
72222213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = udiv <4 x i32> undef, undef
7236cd6bde3SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V8I32 = udiv <8 x i32> undef, undef
72422213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %V16I32 = udiv <16 x i32> undef, undef
725e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = udiv <vscale x 1 x i32> undef, undef
726e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV2I32 = udiv <vscale x 2 x i32> undef, undef
72722213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV4I32 = udiv <vscale x 4 x i32> undef, undef
72822213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV8I32 = udiv <vscale x 8 x i32> undef, undef
72922213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV16I32 = udiv <vscale x 16 x i32> undef, undef
73022213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = udiv <1 x i64> undef, undef
73122213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = udiv <2 x i64> undef, undef
7326cd6bde3SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V4I64 = udiv <4 x i64> undef, undef
73322213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %V8I64 = udiv <8 x i64> undef, undef
734e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I64 = udiv <vscale x 1 x i64> undef, undef
73522213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV2I64 = udiv <vscale x 2 x i64> undef, undef
73622213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV4I64 = udiv <vscale x 4 x i64> undef, undef
73722213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV8I64 = udiv <vscale x 8 x i64> undef, undef
7380a5d52a7SSergey Kachkov; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
739e726c587SPhilip Reames;
7406ac2ce7dSCraig Topper; SIFIVE-X280-LABEL: 'udiv'
7416ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I16 = udiv i16 undef, undef
7426ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I32 = udiv i32 undef, undef
7436ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I64 = udiv i64 undef, undef
74422213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = udiv <1 x i16> undef, undef
74522213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = udiv <2 x i16> undef, undef
74622213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = udiv <4 x i16> undef, undef
74722213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = udiv <8 x i16> undef, undef
74822213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V16I16 = udiv <16 x i16> undef, undef
7496ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V32I16 = udiv <32 x i16> undef, undef
7506ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = udiv <vscale x 1 x i16> undef, undef
7516ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = udiv <vscale x 2 x i16> undef, undef
75222213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV4I16 = udiv <vscale x 4 x i16> undef, undef
75322213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV8I16 = udiv <vscale x 8 x i16> undef, undef
75422213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV16I16 = udiv <vscale x 16 x i16> undef, undef
75522213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %NXV32I16 = udiv <vscale x 32 x i16> undef, undef
75622213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = udiv <1 x i32> undef, undef
75722213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = udiv <2 x i32> undef, undef
75822213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = udiv <4 x i32> undef, undef
75922213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V8I32 = udiv <8 x i32> undef, undef
7606ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V16I32 = udiv <16 x i32> undef, undef
7616ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = udiv <vscale x 1 x i32> undef, undef
76222213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV2I32 = udiv <vscale x 2 x i32> undef, undef
76322213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV4I32 = udiv <vscale x 4 x i32> undef, undef
76422213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV8I32 = udiv <vscale x 8 x i32> undef, undef
76522213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %NXV16I32 = udiv <vscale x 16 x i32> undef, undef
76622213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = udiv <1 x i64> undef, undef
76722213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = udiv <2 x i64> undef, undef
76822213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I64 = udiv <4 x i64> undef, undef
7696ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V8I64 = udiv <8 x i64> undef, undef
77022213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV1I64 = udiv <vscale x 1 x i64> undef, undef
77122213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV2I64 = udiv <vscale x 2 x i64> undef, undef
77222213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV4I64 = udiv <vscale x 4 x i64> undef, undef
77322213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %NXV8I64 = udiv <vscale x 8 x i64> undef, undef
7740a5d52a7SSergey Kachkov; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
7756ac2ce7dSCraig Topper;
776e726c587SPhilip Reames  %I16 = udiv i16 undef, undef
777e726c587SPhilip Reames  %I32 = udiv i32 undef, undef
778e726c587SPhilip Reames  %I64 = udiv i64 undef, undef
779e726c587SPhilip Reames
780e726c587SPhilip Reames  %V1I16 = udiv <1 x i16> undef, undef
781e726c587SPhilip Reames  %V2I16 = udiv <2 x i16> undef, undef
782e726c587SPhilip Reames  %V4I16 = udiv <4 x i16> undef, undef
783e726c587SPhilip Reames  %V8I16 = udiv <8 x i16> undef, undef
784e726c587SPhilip Reames  %V16I16 = udiv <16 x i16> undef, undef
785e726c587SPhilip Reames  %V32I16 = udiv <32 x i16> undef, undef
786e726c587SPhilip Reames
787e726c587SPhilip Reames  %NXV1I16 = udiv <vscale x 1 x i16> undef, undef
788e726c587SPhilip Reames  %NXV2I16 = udiv <vscale x 2 x i16> undef, undef
789e726c587SPhilip Reames  %NXV4I16 = udiv <vscale x 4 x i16> undef, undef
790e726c587SPhilip Reames  %NXV8I16 = udiv <vscale x 8 x i16> undef, undef
791e726c587SPhilip Reames  %NXV16I16 = udiv <vscale x 16 x i16> undef, undef
792e726c587SPhilip Reames  %NXV32I16 = udiv <vscale x 32 x i16> undef, undef
793e726c587SPhilip Reames
794e726c587SPhilip Reames  %V1I32 = udiv <1 x i32> undef, undef
795e726c587SPhilip Reames  %V2I32 = udiv <2 x i32> undef, undef
796e726c587SPhilip Reames  %V4I32 = udiv <4 x i32> undef, undef
797e726c587SPhilip Reames  %V8I32 = udiv <8 x i32> undef, undef
798e726c587SPhilip Reames  %V16I32 = udiv <16 x i32> undef, undef
799e726c587SPhilip Reames
800e726c587SPhilip Reames  %NXV1I32 = udiv <vscale x 1 x i32> undef, undef
801e726c587SPhilip Reames  %NXV2I32 = udiv <vscale x 2 x i32> undef, undef
802e726c587SPhilip Reames  %NXV4I32 = udiv <vscale x 4 x i32> undef, undef
803e726c587SPhilip Reames  %NXV8I32 = udiv <vscale x 8 x i32> undef, undef
804e726c587SPhilip Reames  %NXV16I32 = udiv <vscale x 16 x i32> undef, undef
805e726c587SPhilip Reames
806e726c587SPhilip Reames  %V1I64 = udiv <1 x i64> undef, undef
807e726c587SPhilip Reames  %V2I64 = udiv <2 x i64> undef, undef
808e726c587SPhilip Reames  %V4I64 = udiv <4 x i64> undef, undef
809e726c587SPhilip Reames  %V8I64 = udiv <8 x i64> undef, undef
810e726c587SPhilip Reames
811e726c587SPhilip Reames  %NXV1I64 = udiv <vscale x 1 x i64> undef, undef
812e726c587SPhilip Reames  %NXV2I64 = udiv <vscale x 2 x i64> undef, undef
813e726c587SPhilip Reames  %NXV4I64 = udiv <vscale x 4 x i64> undef, undef
814e726c587SPhilip Reames  %NXV8I64 = udiv <vscale x 8 x i64> undef, undef
815e726c587SPhilip Reames
816e726c587SPhilip Reames  ret i32 undef
817e726c587SPhilip Reames}
818e726c587SPhilip Reames
819e726c587SPhilip Reamesdefine i32 @urem() {
820e726c587SPhilip Reames; CHECK-LABEL: 'urem'
821e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I16 = urem i16 undef, undef
822e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I32 = urem i32 undef, undef
823e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I64 = urem i64 undef, undef
82422213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = urem <1 x i16> undef, undef
82522213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = urem <2 x i16> undef, undef
82622213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = urem <4 x i16> undef, undef
82722213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = urem <8 x i16> undef, undef
8286cd6bde3SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V16I16 = urem <16 x i16> undef, undef
82922213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %V32I16 = urem <32 x i16> undef, undef
830e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = urem <vscale x 1 x i16> undef, undef
831e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = urem <vscale x 2 x i16> undef, undef
832e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV4I16 = urem <vscale x 4 x i16> undef, undef
83322213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV8I16 = urem <vscale x 8 x i16> undef, undef
83422213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV16I16 = urem <vscale x 16 x i16> undef, undef
83522213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV32I16 = urem <vscale x 32 x i16> undef, undef
83622213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = urem <1 x i32> undef, undef
83722213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = urem <2 x i32> undef, undef
83822213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = urem <4 x i32> undef, undef
8396cd6bde3SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V8I32 = urem <8 x i32> undef, undef
84022213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %V16I32 = urem <16 x i32> undef, undef
841e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = urem <vscale x 1 x i32> undef, undef
842e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV2I32 = urem <vscale x 2 x i32> undef, undef
84322213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV4I32 = urem <vscale x 4 x i32> undef, undef
84422213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV8I32 = urem <vscale x 8 x i32> undef, undef
84522213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV16I32 = urem <vscale x 16 x i32> undef, undef
84622213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = urem <1 x i64> undef, undef
84722213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = urem <2 x i64> undef, undef
8486cd6bde3SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V4I64 = urem <4 x i64> undef, undef
84922213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %V8I64 = urem <8 x i64> undef, undef
850e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I64 = urem <vscale x 1 x i64> undef, undef
85122213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV2I64 = urem <vscale x 2 x i64> undef, undef
85222213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV4I64 = urem <vscale x 4 x i64> undef, undef
85322213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV8I64 = urem <vscale x 8 x i64> undef, undef
8540a5d52a7SSergey Kachkov; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
855e726c587SPhilip Reames;
8566ac2ce7dSCraig Topper; SIFIVE-X280-LABEL: 'urem'
8576ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I16 = urem i16 undef, undef
8586ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I32 = urem i32 undef, undef
8596ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I64 = urem i64 undef, undef
86022213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = urem <1 x i16> undef, undef
86122213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = urem <2 x i16> undef, undef
86222213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = urem <4 x i16> undef, undef
86322213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = urem <8 x i16> undef, undef
86422213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V16I16 = urem <16 x i16> undef, undef
8656ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V32I16 = urem <32 x i16> undef, undef
8666ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = urem <vscale x 1 x i16> undef, undef
8676ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = urem <vscale x 2 x i16> undef, undef
86822213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV4I16 = urem <vscale x 4 x i16> undef, undef
86922213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV8I16 = urem <vscale x 8 x i16> undef, undef
87022213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV16I16 = urem <vscale x 16 x i16> undef, undef
87122213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %NXV32I16 = urem <vscale x 32 x i16> undef, undef
87222213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = urem <1 x i32> undef, undef
87322213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = urem <2 x i32> undef, undef
87422213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = urem <4 x i32> undef, undef
87522213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V8I32 = urem <8 x i32> undef, undef
8766ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V16I32 = urem <16 x i32> undef, undef
8776ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = urem <vscale x 1 x i32> undef, undef
87822213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV2I32 = urem <vscale x 2 x i32> undef, undef
87922213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV4I32 = urem <vscale x 4 x i32> undef, undef
88022213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV8I32 = urem <vscale x 8 x i32> undef, undef
88122213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %NXV16I32 = urem <vscale x 16 x i32> undef, undef
88222213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = urem <1 x i64> undef, undef
88322213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = urem <2 x i64> undef, undef
88422213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I64 = urem <4 x i64> undef, undef
8856ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V8I64 = urem <8 x i64> undef, undef
88622213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV1I64 = urem <vscale x 1 x i64> undef, undef
88722213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV2I64 = urem <vscale x 2 x i64> undef, undef
88822213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV4I64 = urem <vscale x 4 x i64> undef, undef
88922213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %NXV8I64 = urem <vscale x 8 x i64> undef, undef
8900a5d52a7SSergey Kachkov; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
8916ac2ce7dSCraig Topper;
892e726c587SPhilip Reames  %I16 = urem i16 undef, undef
893e726c587SPhilip Reames  %I32 = urem i32 undef, undef
894e726c587SPhilip Reames  %I64 = urem i64 undef, undef
895e726c587SPhilip Reames
896e726c587SPhilip Reames  %V1I16 = urem <1 x i16> undef, undef
897e726c587SPhilip Reames  %V2I16 = urem <2 x i16> undef, undef
898e726c587SPhilip Reames  %V4I16 = urem <4 x i16> undef, undef
899e726c587SPhilip Reames  %V8I16 = urem <8 x i16> undef, undef
900e726c587SPhilip Reames  %V16I16 = urem <16 x i16> undef, undef
901e726c587SPhilip Reames  %V32I16 = urem <32 x i16> undef, undef
902e726c587SPhilip Reames
903e726c587SPhilip Reames  %NXV1I16 = urem <vscale x 1 x i16> undef, undef
904e726c587SPhilip Reames  %NXV2I16 = urem <vscale x 2 x i16> undef, undef
905e726c587SPhilip Reames  %NXV4I16 = urem <vscale x 4 x i16> undef, undef
906e726c587SPhilip Reames  %NXV8I16 = urem <vscale x 8 x i16> undef, undef
907e726c587SPhilip Reames  %NXV16I16 = urem <vscale x 16 x i16> undef, undef
908e726c587SPhilip Reames  %NXV32I16 = urem <vscale x 32 x i16> undef, undef
909e726c587SPhilip Reames
910e726c587SPhilip Reames  %V1I32 = urem <1 x i32> undef, undef
911e726c587SPhilip Reames  %V2I32 = urem <2 x i32> undef, undef
912e726c587SPhilip Reames  %V4I32 = urem <4 x i32> undef, undef
913e726c587SPhilip Reames  %V8I32 = urem <8 x i32> undef, undef
914e726c587SPhilip Reames  %V16I32 = urem <16 x i32> undef, undef
915e726c587SPhilip Reames
916e726c587SPhilip Reames  %NXV1I32 = urem <vscale x 1 x i32> undef, undef
917e726c587SPhilip Reames  %NXV2I32 = urem <vscale x 2 x i32> undef, undef
918e726c587SPhilip Reames  %NXV4I32 = urem <vscale x 4 x i32> undef, undef
919e726c587SPhilip Reames  %NXV8I32 = urem <vscale x 8 x i32> undef, undef
920e726c587SPhilip Reames  %NXV16I32 = urem <vscale x 16 x i32> undef, undef
921e726c587SPhilip Reames
922e726c587SPhilip Reames  %V1I64 = urem <1 x i64> undef, undef
923e726c587SPhilip Reames  %V2I64 = urem <2 x i64> undef, undef
924e726c587SPhilip Reames  %V4I64 = urem <4 x i64> undef, undef
925e726c587SPhilip Reames  %V8I64 = urem <8 x i64> undef, undef
926e726c587SPhilip Reames
927e726c587SPhilip Reames  %NXV1I64 = urem <vscale x 1 x i64> undef, undef
928e726c587SPhilip Reames  %NXV2I64 = urem <vscale x 2 x i64> undef, undef
929e726c587SPhilip Reames  %NXV4I64 = urem <vscale x 4 x i64> undef, undef
930e726c587SPhilip Reames  %NXV8I64 = urem <vscale x 8 x i64> undef, undef
931e726c587SPhilip Reames
932e726c587SPhilip Reames  ret i32 undef
933e726c587SPhilip Reames}
934e726c587SPhilip Reames
935e726c587SPhilip Reamesdefine i32 @sdiv() {
936e726c587SPhilip Reames; CHECK-LABEL: 'sdiv'
937e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I16 = sdiv i16 undef, undef
938e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I32 = sdiv i32 undef, undef
939e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I64 = sdiv i64 undef, undef
94022213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = sdiv <1 x i16> undef, undef
94122213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = sdiv <2 x i16> undef, undef
94222213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = sdiv <4 x i16> undef, undef
94322213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = sdiv <8 x i16> undef, undef
9446cd6bde3SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V16I16 = sdiv <16 x i16> undef, undef
94522213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %V32I16 = sdiv <32 x i16> undef, undef
946e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = sdiv <vscale x 1 x i16> undef, undef
947e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = sdiv <vscale x 2 x i16> undef, undef
948e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV4I16 = sdiv <vscale x 4 x i16> undef, undef
94922213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV8I16 = sdiv <vscale x 8 x i16> undef, undef
95022213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV16I16 = sdiv <vscale x 16 x i16> undef, undef
95122213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV32I16 = sdiv <vscale x 32 x i16> undef, undef
95222213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = sdiv <1 x i32> undef, undef
95322213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = sdiv <2 x i32> undef, undef
95422213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = sdiv <4 x i32> undef, undef
9556cd6bde3SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V8I32 = sdiv <8 x i32> undef, undef
95622213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %V16I32 = sdiv <16 x i32> undef, undef
957e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = sdiv <vscale x 1 x i32> undef, undef
958e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV2I32 = sdiv <vscale x 2 x i32> undef, undef
95922213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV4I32 = sdiv <vscale x 4 x i32> undef, undef
96022213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV8I32 = sdiv <vscale x 8 x i32> undef, undef
96122213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV16I32 = sdiv <vscale x 16 x i32> undef, undef
96222213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = sdiv <1 x i64> undef, undef
96322213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = sdiv <2 x i64> undef, undef
9646cd6bde3SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V4I64 = sdiv <4 x i64> undef, undef
96522213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %V8I64 = sdiv <8 x i64> undef, undef
966e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I64 = sdiv <vscale x 1 x i64> undef, undef
96722213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV2I64 = sdiv <vscale x 2 x i64> undef, undef
96822213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV4I64 = sdiv <vscale x 4 x i64> undef, undef
96922213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV8I64 = sdiv <vscale x 8 x i64> undef, undef
9700a5d52a7SSergey Kachkov; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
971e726c587SPhilip Reames;
9726ac2ce7dSCraig Topper; SIFIVE-X280-LABEL: 'sdiv'
9736ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I16 = sdiv i16 undef, undef
9746ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I32 = sdiv i32 undef, undef
9756ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I64 = sdiv i64 undef, undef
97622213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = sdiv <1 x i16> undef, undef
97722213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = sdiv <2 x i16> undef, undef
97822213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = sdiv <4 x i16> undef, undef
97922213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = sdiv <8 x i16> undef, undef
98022213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V16I16 = sdiv <16 x i16> undef, undef
9816ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V32I16 = sdiv <32 x i16> undef, undef
9826ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = sdiv <vscale x 1 x i16> undef, undef
9836ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = sdiv <vscale x 2 x i16> undef, undef
98422213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV4I16 = sdiv <vscale x 4 x i16> undef, undef
98522213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV8I16 = sdiv <vscale x 8 x i16> undef, undef
98622213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV16I16 = sdiv <vscale x 16 x i16> undef, undef
98722213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %NXV32I16 = sdiv <vscale x 32 x i16> undef, undef
98822213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = sdiv <1 x i32> undef, undef
98922213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = sdiv <2 x i32> undef, undef
99022213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = sdiv <4 x i32> undef, undef
99122213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V8I32 = sdiv <8 x i32> undef, undef
9926ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V16I32 = sdiv <16 x i32> undef, undef
9936ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = sdiv <vscale x 1 x i32> undef, undef
99422213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV2I32 = sdiv <vscale x 2 x i32> undef, undef
99522213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV4I32 = sdiv <vscale x 4 x i32> undef, undef
99622213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV8I32 = sdiv <vscale x 8 x i32> undef, undef
99722213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %NXV16I32 = sdiv <vscale x 16 x i32> undef, undef
99822213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = sdiv <1 x i64> undef, undef
99922213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = sdiv <2 x i64> undef, undef
100022213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I64 = sdiv <4 x i64> undef, undef
10016ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V8I64 = sdiv <8 x i64> undef, undef
100222213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV1I64 = sdiv <vscale x 1 x i64> undef, undef
100322213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV2I64 = sdiv <vscale x 2 x i64> undef, undef
100422213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV4I64 = sdiv <vscale x 4 x i64> undef, undef
100522213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %NXV8I64 = sdiv <vscale x 8 x i64> undef, undef
10060a5d52a7SSergey Kachkov; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
10076ac2ce7dSCraig Topper;
1008e726c587SPhilip Reames  %I16 = sdiv i16 undef, undef
1009e726c587SPhilip Reames  %I32 = sdiv i32 undef, undef
1010e726c587SPhilip Reames  %I64 = sdiv i64 undef, undef
1011e726c587SPhilip Reames
1012e726c587SPhilip Reames  %V1I16 = sdiv <1 x i16> undef, undef
1013e726c587SPhilip Reames  %V2I16 = sdiv <2 x i16> undef, undef
1014e726c587SPhilip Reames  %V4I16 = sdiv <4 x i16> undef, undef
1015e726c587SPhilip Reames  %V8I16 = sdiv <8 x i16> undef, undef
1016e726c587SPhilip Reames  %V16I16 = sdiv <16 x i16> undef, undef
1017e726c587SPhilip Reames  %V32I16 = sdiv <32 x i16> undef, undef
1018e726c587SPhilip Reames
1019e726c587SPhilip Reames  %NXV1I16 = sdiv <vscale x 1 x i16> undef, undef
1020e726c587SPhilip Reames  %NXV2I16 = sdiv <vscale x 2 x i16> undef, undef
1021e726c587SPhilip Reames  %NXV4I16 = sdiv <vscale x 4 x i16> undef, undef
1022e726c587SPhilip Reames  %NXV8I16 = sdiv <vscale x 8 x i16> undef, undef
1023e726c587SPhilip Reames  %NXV16I16 = sdiv <vscale x 16 x i16> undef, undef
1024e726c587SPhilip Reames  %NXV32I16 = sdiv <vscale x 32 x i16> undef, undef
1025e726c587SPhilip Reames
1026e726c587SPhilip Reames  %V1I32 = sdiv <1 x i32> undef, undef
1027e726c587SPhilip Reames  %V2I32 = sdiv <2 x i32> undef, undef
1028e726c587SPhilip Reames  %V4I32 = sdiv <4 x i32> undef, undef
1029e726c587SPhilip Reames  %V8I32 = sdiv <8 x i32> undef, undef
1030e726c587SPhilip Reames  %V16I32 = sdiv <16 x i32> undef, undef
1031e726c587SPhilip Reames
1032e726c587SPhilip Reames  %NXV1I32 = sdiv <vscale x 1 x i32> undef, undef
1033e726c587SPhilip Reames  %NXV2I32 = sdiv <vscale x 2 x i32> undef, undef
1034e726c587SPhilip Reames  %NXV4I32 = sdiv <vscale x 4 x i32> undef, undef
1035e726c587SPhilip Reames  %NXV8I32 = sdiv <vscale x 8 x i32> undef, undef
1036e726c587SPhilip Reames  %NXV16I32 = sdiv <vscale x 16 x i32> undef, undef
1037e726c587SPhilip Reames
1038e726c587SPhilip Reames  %V1I64 = sdiv <1 x i64> undef, undef
1039e726c587SPhilip Reames  %V2I64 = sdiv <2 x i64> undef, undef
1040e726c587SPhilip Reames  %V4I64 = sdiv <4 x i64> undef, undef
1041e726c587SPhilip Reames  %V8I64 = sdiv <8 x i64> undef, undef
1042e726c587SPhilip Reames
1043e726c587SPhilip Reames  %NXV1I64 = sdiv <vscale x 1 x i64> undef, undef
1044e726c587SPhilip Reames  %NXV2I64 = sdiv <vscale x 2 x i64> undef, undef
1045e726c587SPhilip Reames  %NXV4I64 = sdiv <vscale x 4 x i64> undef, undef
1046e726c587SPhilip Reames  %NXV8I64 = sdiv <vscale x 8 x i64> undef, undef
1047e726c587SPhilip Reames
1048e726c587SPhilip Reames  ret i32 undef
1049e726c587SPhilip Reames}
1050e726c587SPhilip Reames
1051e726c587SPhilip Reamesdefine i32 @srem() {
1052e726c587SPhilip Reames; CHECK-LABEL: 'srem'
1053e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I16 = srem i16 undef, undef
1054e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I32 = srem i32 undef, undef
1055e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I64 = srem i64 undef, undef
105622213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = srem <1 x i16> undef, undef
105722213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = srem <2 x i16> undef, undef
105822213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = srem <4 x i16> undef, undef
105922213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = srem <8 x i16> undef, undef
10606cd6bde3SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V16I16 = srem <16 x i16> undef, undef
106122213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %V32I16 = srem <32 x i16> undef, undef
1062e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = srem <vscale x 1 x i16> undef, undef
1063e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = srem <vscale x 2 x i16> undef, undef
1064e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV4I16 = srem <vscale x 4 x i16> undef, undef
106522213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV8I16 = srem <vscale x 8 x i16> undef, undef
106622213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV16I16 = srem <vscale x 16 x i16> undef, undef
106722213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV32I16 = srem <vscale x 32 x i16> undef, undef
106822213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = srem <1 x i32> undef, undef
106922213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = srem <2 x i32> undef, undef
107022213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = srem <4 x i32> undef, undef
10716cd6bde3SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V8I32 = srem <8 x i32> undef, undef
107222213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %V16I32 = srem <16 x i32> undef, undef
1073e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = srem <vscale x 1 x i32> undef, undef
1074e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV2I32 = srem <vscale x 2 x i32> undef, undef
107522213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV4I32 = srem <vscale x 4 x i32> undef, undef
107622213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV8I32 = srem <vscale x 8 x i32> undef, undef
107722213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV16I32 = srem <vscale x 16 x i32> undef, undef
107822213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = srem <1 x i64> undef, undef
107922213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = srem <2 x i64> undef, undef
10806cd6bde3SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V4I64 = srem <4 x i64> undef, undef
108122213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %V8I64 = srem <8 x i64> undef, undef
1082e726c587SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I64 = srem <vscale x 1 x i64> undef, undef
108322213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV2I64 = srem <vscale x 2 x i64> undef, undef
108422213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV4I64 = srem <vscale x 4 x i64> undef, undef
108522213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV8I64 = srem <vscale x 8 x i64> undef, undef
10860a5d52a7SSergey Kachkov; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
1087e726c587SPhilip Reames;
10886ac2ce7dSCraig Topper; SIFIVE-X280-LABEL: 'srem'
10896ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I16 = srem i16 undef, undef
10906ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I32 = srem i32 undef, undef
10916ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %I64 = srem i64 undef, undef
109222213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = srem <1 x i16> undef, undef
109322213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = srem <2 x i16> undef, undef
109422213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = srem <4 x i16> undef, undef
109522213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = srem <8 x i16> undef, undef
109622213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V16I16 = srem <16 x i16> undef, undef
10976ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V32I16 = srem <32 x i16> undef, undef
10986ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = srem <vscale x 1 x i16> undef, undef
10996ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = srem <vscale x 2 x i16> undef, undef
110022213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV4I16 = srem <vscale x 4 x i16> undef, undef
110122213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV8I16 = srem <vscale x 8 x i16> undef, undef
110222213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV16I16 = srem <vscale x 16 x i16> undef, undef
110322213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %NXV32I16 = srem <vscale x 32 x i16> undef, undef
110422213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = srem <1 x i32> undef, undef
110522213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = srem <2 x i32> undef, undef
110622213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = srem <4 x i32> undef, undef
110722213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V8I32 = srem <8 x i32> undef, undef
11086ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V16I32 = srem <16 x i32> undef, undef
11096ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = srem <vscale x 1 x i32> undef, undef
111022213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV2I32 = srem <vscale x 2 x i32> undef, undef
111122213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV4I32 = srem <vscale x 4 x i32> undef, undef
111222213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV8I32 = srem <vscale x 8 x i32> undef, undef
111322213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %NXV16I32 = srem <vscale x 16 x i32> undef, undef
111422213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = srem <1 x i64> undef, undef
111522213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = srem <2 x i64> undef, undef
111622213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %V4I64 = srem <4 x i64> undef, undef
11176ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %V8I64 = srem <8 x i64> undef, undef
111822213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %NXV1I64 = srem <vscale x 1 x i64> undef, undef
111922213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %NXV2I64 = srem <vscale x 2 x i64> undef, undef
112022213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %NXV4I64 = srem <vscale x 4 x i64> undef, undef
112122213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %NXV8I64 = srem <vscale x 8 x i64> undef, undef
11220a5d52a7SSergey Kachkov; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
11236ac2ce7dSCraig Topper;
1124e726c587SPhilip Reames  %I16 = srem i16 undef, undef
1125e726c587SPhilip Reames  %I32 = srem i32 undef, undef
1126e726c587SPhilip Reames  %I64 = srem i64 undef, undef
1127e726c587SPhilip Reames
1128e726c587SPhilip Reames  %V1I16 = srem <1 x i16> undef, undef
1129e726c587SPhilip Reames  %V2I16 = srem <2 x i16> undef, undef
1130e726c587SPhilip Reames  %V4I16 = srem <4 x i16> undef, undef
1131e726c587SPhilip Reames  %V8I16 = srem <8 x i16> undef, undef
1132e726c587SPhilip Reames  %V16I16 = srem <16 x i16> undef, undef
1133e726c587SPhilip Reames  %V32I16 = srem <32 x i16> undef, undef
1134e726c587SPhilip Reames
1135e726c587SPhilip Reames  %NXV1I16 = srem <vscale x 1 x i16> undef, undef
1136e726c587SPhilip Reames  %NXV2I16 = srem <vscale x 2 x i16> undef, undef
1137e726c587SPhilip Reames  %NXV4I16 = srem <vscale x 4 x i16> undef, undef
1138e726c587SPhilip Reames  %NXV8I16 = srem <vscale x 8 x i16> undef, undef
1139e726c587SPhilip Reames  %NXV16I16 = srem <vscale x 16 x i16> undef, undef
1140e726c587SPhilip Reames  %NXV32I16 = srem <vscale x 32 x i16> undef, undef
1141e726c587SPhilip Reames
1142e726c587SPhilip Reames  %V1I32 = srem <1 x i32> undef, undef
1143e726c587SPhilip Reames  %V2I32 = srem <2 x i32> undef, undef
1144e726c587SPhilip Reames  %V4I32 = srem <4 x i32> undef, undef
1145e726c587SPhilip Reames  %V8I32 = srem <8 x i32> undef, undef
1146e726c587SPhilip Reames  %V16I32 = srem <16 x i32> undef, undef
1147e726c587SPhilip Reames
1148e726c587SPhilip Reames  %NXV1I32 = srem <vscale x 1 x i32> undef, undef
1149e726c587SPhilip Reames  %NXV2I32 = srem <vscale x 2 x i32> undef, undef
1150e726c587SPhilip Reames  %NXV4I32 = srem <vscale x 4 x i32> undef, undef
1151e726c587SPhilip Reames  %NXV8I32 = srem <vscale x 8 x i32> undef, undef
1152e726c587SPhilip Reames  %NXV16I32 = srem <vscale x 16 x i32> undef, undef
1153e726c587SPhilip Reames
1154e726c587SPhilip Reames  %V1I64 = srem <1 x i64> undef, undef
1155e726c587SPhilip Reames  %V2I64 = srem <2 x i64> undef, undef
1156e726c587SPhilip Reames  %V4I64 = srem <4 x i64> undef, undef
1157e726c587SPhilip Reames  %V8I64 = srem <8 x i64> undef, undef
1158e726c587SPhilip Reames
1159e726c587SPhilip Reames  %NXV1I64 = srem <vscale x 1 x i64> undef, undef
1160e726c587SPhilip Reames  %NXV2I64 = srem <vscale x 2 x i64> undef, undef
1161e726c587SPhilip Reames  %NXV4I64 = srem <vscale x 4 x i64> undef, undef
1162e726c587SPhilip Reames  %NXV8I64 = srem <vscale x 8 x i64> undef, undef
1163e726c587SPhilip Reames
1164e726c587SPhilip Reames  ret i32 undef
1165e726c587SPhilip Reames}
11663c9d2471SPhilip Reames
11673c9d2471SPhilip Reames
11683c9d2471SPhilip Reames; For constants, have to account for cost of materializing the constant itself
11693c9d2471SPhilip Reames; This test exercises a few interesting constant patterns at VLEN=128
11703c9d2471SPhilip Reamesdefine void @add_of_constant() {
11713c9d2471SPhilip Reames; CHECK-LABEL: 'add_of_constant'
11723c9d2471SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %1 = add <4 x i32> poison, undef
11733c9d2471SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %2 = add <4 x i32> undef, undef
11743c9d2471SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %3 = add <4 x i32> zeroinitializer, undef
11753c9d2471SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %4 = add <2 x i64> zeroinitializer, undef
1176*38fffa63SPaul Walker; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %5 = add <4 x i32> splat (i32 1), undef
1177*38fffa63SPaul Walker; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %6 = add <2 x i64> splat (i64 1), undef
1178*38fffa63SPaul Walker; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %7 = add <4 x i32> splat (i32 4096), undef
11797d82c994SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %8 = add <4 x i32> <i32 1, i32 1, i32 2, i32 1>, undef
11807d82c994SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %9 = add <4 x i32> <i32 2, i32 1, i32 1, i32 1>, undef
11817d82c994SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %10 = add <4 x i32> <i32 0, i32 1, i32 2, i32 3>, undef
11827d82c994SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %11 = add <4 x i32> <i32 1, i32 2, i32 3, i32 4>, undef
11837d82c994SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %12 = add <4 x i32> <i32 -1, i32 -2, i32 -3, i32 -4>, undef
11847d82c994SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %13 = add <4 x i32> <i32 2, i32 4, i32 6, i32 8>, undef
11857d82c994SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %14 = add <4 x i32> <i32 -1, i32 0, i32 2, i32 1>, undef
11867d82c994SPhilip Reames; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %15 = add <4 x i32> <i32 256, i32 4096, i32 57, i32 1>, undef
11870a5d52a7SSergey Kachkov; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
11883c9d2471SPhilip Reames;
11896ac2ce7dSCraig Topper; SIFIVE-X280-LABEL: 'add_of_constant'
11906ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %1 = add <4 x i32> poison, undef
11916ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %2 = add <4 x i32> undef, undef
11926ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %3 = add <4 x i32> zeroinitializer, undef
11936ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %4 = add <2 x i64> zeroinitializer, undef
1194*38fffa63SPaul Walker; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %5 = add <4 x i32> splat (i32 1), undef
1195*38fffa63SPaul Walker; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %6 = add <2 x i64> splat (i64 1), undef
1196*38fffa63SPaul Walker; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %7 = add <4 x i32> splat (i32 4096), undef
11976ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %8 = add <4 x i32> <i32 1, i32 1, i32 2, i32 1>, undef
11986ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %9 = add <4 x i32> <i32 2, i32 1, i32 1, i32 1>, undef
11996ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %10 = add <4 x i32> <i32 0, i32 1, i32 2, i32 3>, undef
12006ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %11 = add <4 x i32> <i32 1, i32 2, i32 3, i32 4>, undef
12016ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %12 = add <4 x i32> <i32 -1, i32 -2, i32 -3, i32 -4>, undef
12026ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %13 = add <4 x i32> <i32 2, i32 4, i32 6, i32 8>, undef
12036ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %14 = add <4 x i32> <i32 -1, i32 0, i32 2, i32 1>, undef
12046ac2ce7dSCraig Topper; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %15 = add <4 x i32> <i32 256, i32 4096, i32 57, i32 1>, undef
12050a5d52a7SSergey Kachkov; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
12066ac2ce7dSCraig Topper;
12073c9d2471SPhilip Reames
12083c9d2471SPhilip Reames  ; poison and undef
12093c9d2471SPhilip Reames  add <4 x i32> poison, undef
12103c9d2471SPhilip Reames  add <4 x i32> undef, undef
12113c9d2471SPhilip Reames
12123c9d2471SPhilip Reames  ; Various splats
12133c9d2471SPhilip Reames  add <4 x i32> zeroinitializer, undef
12143c9d2471SPhilip Reames  add <2 x i64> zeroinitializer, undef
12153c9d2471SPhilip Reames  add <4 x i32> <i32 1, i32 1, i32 1, i32 1>, undef
12163c9d2471SPhilip Reames  add <2 x i64> <i64 1, i64 1>, undef
12173c9d2471SPhilip Reames  add <4 x i32> <i32 4096, i32 4096, i32 4096, i32 4096>, undef
12183c9d2471SPhilip Reames
12193c9d2471SPhilip Reames  ; Nearly splats
12203c9d2471SPhilip Reames  add <4 x i32> <i32 1, i32 1, i32 2, i32 1>, undef
12213c9d2471SPhilip Reames  add <4 x i32> <i32 2, i32 1, i32 1, i32 1>, undef
12223c9d2471SPhilip Reames
12233c9d2471SPhilip Reames  ; Step vector functions
12243c9d2471SPhilip Reames  add <4 x i32> <i32 0, i32 1, i32 2, i32 3>, undef
12253c9d2471SPhilip Reames  add <4 x i32> <i32 1, i32 2, i32 3, i32 4>, undef
12263c9d2471SPhilip Reames  add <4 x i32> <i32 -1, i32 -2, i32 -3, i32 -4>, undef
12273c9d2471SPhilip Reames  add <4 x i32> <i32 2, i32 4, i32 6, i32 8>, undef
12283c9d2471SPhilip Reames
12293c9d2471SPhilip Reames  ; General case 128 bit constants
12303c9d2471SPhilip Reames  add <4 x i32> <i32 -1, i32 0, i32 2, i32 1>, undef
12313c9d2471SPhilip Reames  add <4 x i32> <i32 256, i32 4096, i32 57, i32 1>, undef
12323c9d2471SPhilip Reames
12333c9d2471SPhilip Reames  ret void
12343c9d2471SPhilip Reames}
123522213d58SShih-Po Hung
123622213d58SShih-Po Hungdefine i32 @and() {
123722213d58SShih-Po Hung; CHECK-LABEL: 'and'
123822213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %1 = and i1 undef, undef
123922213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %2 = and i16 undef, undef
124022213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %3 = and i32 undef, undef
124122213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %4 = and i64 undef, undef
124222213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %5 = and <1 x i1> undef, undef
124322213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %6 = and <2 x i1> undef, undef
124422213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %7 = and <4 x i1> undef, undef
124522213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %8 = and <8 x i1> undef, undef
124622213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %9 = and <16 x i1> undef, undef
124722213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %10 = and <32 x i1> undef, undef
124822213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %11 = and <1 x i16> undef, undef
124922213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %12 = and <2 x i16> undef, undef
125022213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %13 = and <4 x i16> undef, undef
125122213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %14 = and <8 x i16> undef, undef
125222213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %15 = and <16 x i16> undef, undef
125322213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %16 = and <32 x i16> undef, undef
125422213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %17 = and <1 x i32> undef, undef
125522213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %18 = and <2 x i32> undef, undef
125622213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %19 = and <4 x i32> undef, undef
125722213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %20 = and <8 x i32> undef, undef
125822213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %21 = and <16 x i32> undef, undef
125922213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %22 = and <1 x i64> undef, undef
126022213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %23 = and <2 x i64> undef, undef
126122213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %24 = and <4 x i64> undef, undef
126222213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %25 = and <8 x i64> undef, undef
126322213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %26 = and <vscale x 1 x i1> undef, undef
126422213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %27 = and <vscale x 2 x i1> undef, undef
126522213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %28 = and <vscale x 4 x i1> undef, undef
126622213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %29 = and <vscale x 8 x i1> undef, undef
126722213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %30 = and <vscale x 16 x i1> undef, undef
126822213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %31 = and <vscale x 32 x i1> undef, undef
126922213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %32 = and <vscale x 1 x i16> undef, undef
127022213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %33 = and <vscale x 2 x i16> undef, undef
127122213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %34 = and <vscale x 4 x i16> undef, undef
127222213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %35 = and <vscale x 8 x i16> undef, undef
127322213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %36 = and <vscale x 16 x i16> undef, undef
127422213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %37 = and <vscale x 32 x i16> undef, undef
127522213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %38 = and <vscale x 1 x i32> undef, undef
127622213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %39 = and <vscale x 2 x i32> undef, undef
127722213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %40 = and <vscale x 4 x i32> undef, undef
127822213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %41 = and <vscale x 8 x i32> undef, undef
127922213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %42 = and <vscale x 16 x i32> undef, undef
128022213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %43 = and <vscale x 1 x i64> undef, undef
128122213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %44 = and <vscale x 2 x i64> undef, undef
128222213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %45 = and <vscale x 4 x i64> undef, undef
128322213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %46 = and <vscale x 8 x i64> undef, undef
128422213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
128522213d58SShih-Po Hung;
128622213d58SShih-Po Hung; SIFIVE-X280-LABEL: 'and'
128722213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %1 = and i1 undef, undef
128822213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %2 = and i16 undef, undef
128922213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %3 = and i32 undef, undef
129022213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %4 = and i64 undef, undef
129122213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %5 = and <1 x i1> undef, undef
129222213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %6 = and <2 x i1> undef, undef
129322213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %7 = and <4 x i1> undef, undef
129422213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %8 = and <8 x i1> undef, undef
129522213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %9 = and <16 x i1> undef, undef
129622213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %10 = and <32 x i1> undef, undef
129722213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %11 = and <1 x i16> undef, undef
129822213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %12 = and <2 x i16> undef, undef
129922213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %13 = and <4 x i16> undef, undef
130022213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %14 = and <8 x i16> undef, undef
130122213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %15 = and <16 x i16> undef, undef
130222213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %16 = and <32 x i16> undef, undef
130322213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %17 = and <1 x i32> undef, undef
130422213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %18 = and <2 x i32> undef, undef
130522213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %19 = and <4 x i32> undef, undef
130622213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %20 = and <8 x i32> undef, undef
130722213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %21 = and <16 x i32> undef, undef
130822213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %22 = and <1 x i64> undef, undef
130922213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %23 = and <2 x i64> undef, undef
131022213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %24 = and <4 x i64> undef, undef
131122213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %25 = and <8 x i64> undef, undef
131222213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %26 = and <vscale x 1 x i1> undef, undef
131322213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %27 = and <vscale x 2 x i1> undef, undef
131422213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %28 = and <vscale x 4 x i1> undef, undef
131522213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %29 = and <vscale x 8 x i1> undef, undef
131622213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %30 = and <vscale x 16 x i1> undef, undef
131722213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %31 = and <vscale x 32 x i1> undef, undef
131822213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %32 = and <vscale x 1 x i16> undef, undef
131922213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %33 = and <vscale x 2 x i16> undef, undef
132022213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %34 = and <vscale x 4 x i16> undef, undef
132122213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %35 = and <vscale x 8 x i16> undef, undef
132222213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %36 = and <vscale x 16 x i16> undef, undef
132322213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %37 = and <vscale x 32 x i16> undef, undef
132422213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %38 = and <vscale x 1 x i32> undef, undef
132522213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %39 = and <vscale x 2 x i32> undef, undef
132622213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %40 = and <vscale x 4 x i32> undef, undef
132722213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %41 = and <vscale x 8 x i32> undef, undef
132822213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %42 = and <vscale x 16 x i32> undef, undef
132922213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %43 = and <vscale x 1 x i64> undef, undef
133022213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %44 = and <vscale x 2 x i64> undef, undef
133122213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %45 = and <vscale x 4 x i64> undef, undef
133222213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %46 = and <vscale x 8 x i64> undef, undef
133322213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
133422213d58SShih-Po Hung;
133522213d58SShih-Po Hung  and i1 undef, undef
133622213d58SShih-Po Hung  and i16 undef, undef
133722213d58SShih-Po Hung  and i32 undef, undef
133822213d58SShih-Po Hung  and i64 undef, undef
133922213d58SShih-Po Hung
134022213d58SShih-Po Hung  and <1 x i1> undef, undef
134122213d58SShih-Po Hung  and <2 x i1> undef, undef
134222213d58SShih-Po Hung  and <4 x i1> undef, undef
134322213d58SShih-Po Hung  and <8 x i1> undef, undef
134422213d58SShih-Po Hung  and <16 x i1> undef, undef
134522213d58SShih-Po Hung  and <32 x i1> undef, undef
134622213d58SShih-Po Hung
134722213d58SShih-Po Hung  and <1 x i16> undef, undef
134822213d58SShih-Po Hung  and <2 x i16> undef, undef
134922213d58SShih-Po Hung  and <4 x i16> undef, undef
135022213d58SShih-Po Hung  and <8 x i16> undef, undef
135122213d58SShih-Po Hung  and <16 x i16> undef, undef
135222213d58SShih-Po Hung  and <32 x i16> undef, undef
135322213d58SShih-Po Hung
135422213d58SShih-Po Hung  and <1 x i32> undef, undef
135522213d58SShih-Po Hung  and <2 x i32> undef, undef
135622213d58SShih-Po Hung  and <4 x i32> undef, undef
135722213d58SShih-Po Hung  and <8 x i32> undef, undef
135822213d58SShih-Po Hung  and <16 x i32> undef, undef
135922213d58SShih-Po Hung
136022213d58SShih-Po Hung  and <1 x i64> undef, undef
136122213d58SShih-Po Hung  and <2 x i64> undef, undef
136222213d58SShih-Po Hung  and <4 x i64> undef, undef
136322213d58SShih-Po Hung  and <8 x i64> undef, undef
136422213d58SShih-Po Hung
136522213d58SShih-Po Hung  and <vscale x 1 x i1> undef, undef
136622213d58SShih-Po Hung  and <vscale x 2 x i1> undef, undef
136722213d58SShih-Po Hung  and <vscale x 4 x i1> undef, undef
136822213d58SShih-Po Hung  and <vscale x 8 x i1> undef, undef
136922213d58SShih-Po Hung  and <vscale x 16 x i1> undef, undef
137022213d58SShih-Po Hung  and <vscale x 32 x i1> undef, undef
137122213d58SShih-Po Hung
137222213d58SShih-Po Hung  and <vscale x 1 x i16> undef, undef
137322213d58SShih-Po Hung  and <vscale x 2 x i16> undef, undef
137422213d58SShih-Po Hung  and <vscale x 4 x i16> undef, undef
137522213d58SShih-Po Hung  and <vscale x 8 x i16> undef, undef
137622213d58SShih-Po Hung  and <vscale x 16 x i16> undef, undef
137722213d58SShih-Po Hung  and <vscale x 32 x i16> undef, undef
137822213d58SShih-Po Hung
137922213d58SShih-Po Hung  and <vscale x 1 x i32> undef, undef
138022213d58SShih-Po Hung  and <vscale x 2 x i32> undef, undef
138122213d58SShih-Po Hung  and <vscale x 4 x i32> undef, undef
138222213d58SShih-Po Hung  and <vscale x 8 x i32> undef, undef
138322213d58SShih-Po Hung  and <vscale x 16 x i32> undef, undef
138422213d58SShih-Po Hung
138522213d58SShih-Po Hung  and <vscale x 1 x i64> undef, undef
138622213d58SShih-Po Hung  and <vscale x 2 x i64> undef, undef
138722213d58SShih-Po Hung  and <vscale x 4 x i64> undef, undef
138822213d58SShih-Po Hung  and <vscale x 8 x i64> undef, undef
138922213d58SShih-Po Hung  ret i32 undef
139022213d58SShih-Po Hung}
139122213d58SShih-Po Hung
139222213d58SShih-Po Hungdefine i32 @or() {
139322213d58SShih-Po Hung; CHECK-LABEL: 'or'
139422213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %1 = or i1 undef, undef
139522213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %2 = or i16 undef, undef
139622213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %3 = or i32 undef, undef
139722213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %4 = or i64 undef, undef
139822213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %5 = or <1 x i1> undef, undef
139922213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %6 = or <2 x i1> undef, undef
140022213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %7 = or <4 x i1> undef, undef
140122213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %8 = or <8 x i1> undef, undef
140222213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %9 = or <16 x i1> undef, undef
140322213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %10 = or <32 x i1> undef, undef
140422213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %11 = or <1 x i16> undef, undef
140522213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %12 = or <2 x i16> undef, undef
140622213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %13 = or <4 x i16> undef, undef
140722213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %14 = or <8 x i16> undef, undef
140822213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %15 = or <16 x i16> undef, undef
140922213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %16 = or <32 x i16> undef, undef
141022213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %17 = or <1 x i32> undef, undef
141122213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %18 = or <2 x i32> undef, undef
141222213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %19 = or <4 x i32> undef, undef
141322213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %20 = or <8 x i32> undef, undef
141422213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %21 = or <16 x i32> undef, undef
141522213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %22 = or <1 x i64> undef, undef
141622213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %23 = or <2 x i64> undef, undef
141722213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %24 = or <4 x i64> undef, undef
141822213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %25 = or <8 x i64> undef, undef
141922213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %26 = or <vscale x 1 x i1> undef, undef
142022213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %27 = or <vscale x 2 x i1> undef, undef
142122213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %28 = or <vscale x 4 x i1> undef, undef
142222213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %29 = or <vscale x 8 x i1> undef, undef
142322213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %30 = or <vscale x 16 x i1> undef, undef
142422213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %31 = or <vscale x 32 x i1> undef, undef
142522213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %32 = or <vscale x 1 x i16> undef, undef
142622213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %33 = or <vscale x 2 x i16> undef, undef
142722213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %34 = or <vscale x 4 x i16> undef, undef
142822213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %35 = or <vscale x 8 x i16> undef, undef
142922213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %36 = or <vscale x 16 x i16> undef, undef
143022213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %37 = or <vscale x 32 x i16> undef, undef
143122213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %38 = or <vscale x 1 x i32> undef, undef
143222213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %39 = or <vscale x 2 x i32> undef, undef
143322213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %40 = or <vscale x 4 x i32> undef, undef
143422213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %41 = or <vscale x 8 x i32> undef, undef
143522213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %42 = or <vscale x 16 x i32> undef, undef
143622213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %43 = or <vscale x 1 x i64> undef, undef
143722213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %44 = or <vscale x 2 x i64> undef, undef
143822213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %45 = or <vscale x 4 x i64> undef, undef
143922213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %46 = or <vscale x 8 x i64> undef, undef
144022213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
144122213d58SShih-Po Hung;
144222213d58SShih-Po Hung; SIFIVE-X280-LABEL: 'or'
144322213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %1 = or i1 undef, undef
144422213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %2 = or i16 undef, undef
144522213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %3 = or i32 undef, undef
144622213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %4 = or i64 undef, undef
144722213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %5 = or <1 x i1> undef, undef
144822213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %6 = or <2 x i1> undef, undef
144922213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %7 = or <4 x i1> undef, undef
145022213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %8 = or <8 x i1> undef, undef
145122213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %9 = or <16 x i1> undef, undef
145222213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %10 = or <32 x i1> undef, undef
145322213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %11 = or <1 x i16> undef, undef
145422213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %12 = or <2 x i16> undef, undef
145522213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %13 = or <4 x i16> undef, undef
145622213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %14 = or <8 x i16> undef, undef
145722213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %15 = or <16 x i16> undef, undef
145822213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %16 = or <32 x i16> undef, undef
145922213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %17 = or <1 x i32> undef, undef
146022213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %18 = or <2 x i32> undef, undef
146122213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %19 = or <4 x i32> undef, undef
146222213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %20 = or <8 x i32> undef, undef
146322213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %21 = or <16 x i32> undef, undef
146422213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %22 = or <1 x i64> undef, undef
146522213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %23 = or <2 x i64> undef, undef
146622213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %24 = or <4 x i64> undef, undef
146722213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %25 = or <8 x i64> undef, undef
146822213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %26 = or <vscale x 1 x i1> undef, undef
146922213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %27 = or <vscale x 2 x i1> undef, undef
147022213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %28 = or <vscale x 4 x i1> undef, undef
147122213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %29 = or <vscale x 8 x i1> undef, undef
147222213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %30 = or <vscale x 16 x i1> undef, undef
147322213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %31 = or <vscale x 32 x i1> undef, undef
147422213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %32 = or <vscale x 1 x i16> undef, undef
147522213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %33 = or <vscale x 2 x i16> undef, undef
147622213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %34 = or <vscale x 4 x i16> undef, undef
147722213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %35 = or <vscale x 8 x i16> undef, undef
147822213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %36 = or <vscale x 16 x i16> undef, undef
147922213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %37 = or <vscale x 32 x i16> undef, undef
148022213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %38 = or <vscale x 1 x i32> undef, undef
148122213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %39 = or <vscale x 2 x i32> undef, undef
148222213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %40 = or <vscale x 4 x i32> undef, undef
148322213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %41 = or <vscale x 8 x i32> undef, undef
148422213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %42 = or <vscale x 16 x i32> undef, undef
148522213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %43 = or <vscale x 1 x i64> undef, undef
148622213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %44 = or <vscale x 2 x i64> undef, undef
148722213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %45 = or <vscale x 4 x i64> undef, undef
148822213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %46 = or <vscale x 8 x i64> undef, undef
148922213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
149022213d58SShih-Po Hung;
149122213d58SShih-Po Hung  or i1 undef, undef
149222213d58SShih-Po Hung  or i16 undef, undef
149322213d58SShih-Po Hung  or i32 undef, undef
149422213d58SShih-Po Hung  or i64 undef, undef
149522213d58SShih-Po Hung
149622213d58SShih-Po Hung  or <1 x i1> undef, undef
149722213d58SShih-Po Hung  or <2 x i1> undef, undef
149822213d58SShih-Po Hung  or <4 x i1> undef, undef
149922213d58SShih-Po Hung  or <8 x i1> undef, undef
150022213d58SShih-Po Hung  or <16 x i1> undef, undef
150122213d58SShih-Po Hung  or <32 x i1> undef, undef
150222213d58SShih-Po Hung
150322213d58SShih-Po Hung  or <1 x i16> undef, undef
150422213d58SShih-Po Hung  or <2 x i16> undef, undef
150522213d58SShih-Po Hung  or <4 x i16> undef, undef
150622213d58SShih-Po Hung  or <8 x i16> undef, undef
150722213d58SShih-Po Hung  or <16 x i16> undef, undef
150822213d58SShih-Po Hung  or <32 x i16> undef, undef
150922213d58SShih-Po Hung
151022213d58SShih-Po Hung  or <1 x i32> undef, undef
151122213d58SShih-Po Hung  or <2 x i32> undef, undef
151222213d58SShih-Po Hung  or <4 x i32> undef, undef
151322213d58SShih-Po Hung  or <8 x i32> undef, undef
151422213d58SShih-Po Hung  or <16 x i32> undef, undef
151522213d58SShih-Po Hung
151622213d58SShih-Po Hung  or <1 x i64> undef, undef
151722213d58SShih-Po Hung  or <2 x i64> undef, undef
151822213d58SShih-Po Hung  or <4 x i64> undef, undef
151922213d58SShih-Po Hung  or <8 x i64> undef, undef
152022213d58SShih-Po Hung
152122213d58SShih-Po Hung  or <vscale x 1 x i1> undef, undef
152222213d58SShih-Po Hung  or <vscale x 2 x i1> undef, undef
152322213d58SShih-Po Hung  or <vscale x 4 x i1> undef, undef
152422213d58SShih-Po Hung  or <vscale x 8 x i1> undef, undef
152522213d58SShih-Po Hung  or <vscale x 16 x i1> undef, undef
152622213d58SShih-Po Hung  or <vscale x 32 x i1> undef, undef
152722213d58SShih-Po Hung
152822213d58SShih-Po Hung  or <vscale x 1 x i16> undef, undef
152922213d58SShih-Po Hung  or <vscale x 2 x i16> undef, undef
153022213d58SShih-Po Hung  or <vscale x 4 x i16> undef, undef
153122213d58SShih-Po Hung  or <vscale x 8 x i16> undef, undef
153222213d58SShih-Po Hung  or <vscale x 16 x i16> undef, undef
153322213d58SShih-Po Hung  or <vscale x 32 x i16> undef, undef
153422213d58SShih-Po Hung
153522213d58SShih-Po Hung  or <vscale x 1 x i32> undef, undef
153622213d58SShih-Po Hung  or <vscale x 2 x i32> undef, undef
153722213d58SShih-Po Hung  or <vscale x 4 x i32> undef, undef
153822213d58SShih-Po Hung  or <vscale x 8 x i32> undef, undef
153922213d58SShih-Po Hung  or <vscale x 16 x i32> undef, undef
154022213d58SShih-Po Hung
154122213d58SShih-Po Hung  or <vscale x 1 x i64> undef, undef
154222213d58SShih-Po Hung  or <vscale x 2 x i64> undef, undef
154322213d58SShih-Po Hung  or <vscale x 4 x i64> undef, undef
154422213d58SShih-Po Hung  or <vscale x 8 x i64> undef, undef
154522213d58SShih-Po Hung  ret i32 undef
154622213d58SShih-Po Hung}
154722213d58SShih-Po Hung
154822213d58SShih-Po Hungdefine i32 @xor() {
154922213d58SShih-Po Hung; CHECK-LABEL: 'xor'
155022213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %1 = xor i1 undef, undef
155122213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %2 = xor i16 undef, undef
155222213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %3 = xor i32 undef, undef
155322213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %4 = xor i64 undef, undef
155422213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %5 = xor <1 x i1> undef, undef
155522213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %6 = xor <2 x i1> undef, undef
155622213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %7 = xor <4 x i1> undef, undef
155722213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %8 = xor <8 x i1> undef, undef
155822213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %9 = xor <16 x i1> undef, undef
155922213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %10 = xor <32 x i1> undef, undef
156022213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %11 = xor <1 x i16> undef, undef
156122213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %12 = xor <2 x i16> undef, undef
156222213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %13 = xor <4 x i16> undef, undef
156322213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %14 = xor <8 x i16> undef, undef
156422213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %15 = xor <16 x i16> undef, undef
156522213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %16 = xor <32 x i16> undef, undef
156622213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %17 = xor <1 x i32> undef, undef
156722213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %18 = xor <2 x i32> undef, undef
156822213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %19 = xor <4 x i32> undef, undef
156922213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %20 = xor <8 x i32> undef, undef
157022213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %21 = xor <16 x i32> undef, undef
157122213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %22 = xor <1 x i64> undef, undef
157222213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %23 = xor <2 x i64> undef, undef
157322213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %24 = xor <4 x i64> undef, undef
157422213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %25 = xor <8 x i64> undef, undef
157522213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %26 = xor <vscale x 1 x i1> undef, undef
157622213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %27 = xor <vscale x 2 x i1> undef, undef
157722213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %28 = xor <vscale x 4 x i1> undef, undef
157822213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %29 = xor <vscale x 8 x i1> undef, undef
157922213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %30 = xor <vscale x 16 x i1> undef, undef
158022213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %31 = xor <vscale x 32 x i1> undef, undef
158122213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %32 = xor <vscale x 1 x i16> undef, undef
158222213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %33 = xor <vscale x 2 x i16> undef, undef
158322213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %34 = xor <vscale x 4 x i16> undef, undef
158422213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %35 = xor <vscale x 8 x i16> undef, undef
158522213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %36 = xor <vscale x 16 x i16> undef, undef
158622213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %37 = xor <vscale x 32 x i16> undef, undef
158722213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %38 = xor <vscale x 1 x i32> undef, undef
158822213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %39 = xor <vscale x 2 x i32> undef, undef
158922213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %40 = xor <vscale x 4 x i32> undef, undef
159022213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %41 = xor <vscale x 8 x i32> undef, undef
159122213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %42 = xor <vscale x 16 x i32> undef, undef
159222213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %43 = xor <vscale x 1 x i64> undef, undef
159322213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %44 = xor <vscale x 2 x i64> undef, undef
159422213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %45 = xor <vscale x 4 x i64> undef, undef
159522213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %46 = xor <vscale x 8 x i64> undef, undef
159622213d58SShih-Po Hung; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
159722213d58SShih-Po Hung;
159822213d58SShih-Po Hung; SIFIVE-X280-LABEL: 'xor'
159922213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %1 = xor i1 undef, undef
160022213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %2 = xor i16 undef, undef
160122213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %3 = xor i32 undef, undef
160222213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %4 = xor i64 undef, undef
160322213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %5 = xor <1 x i1> undef, undef
160422213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %6 = xor <2 x i1> undef, undef
160522213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %7 = xor <4 x i1> undef, undef
160622213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %8 = xor <8 x i1> undef, undef
160722213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %9 = xor <16 x i1> undef, undef
160822213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %10 = xor <32 x i1> undef, undef
160922213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %11 = xor <1 x i16> undef, undef
161022213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %12 = xor <2 x i16> undef, undef
161122213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %13 = xor <4 x i16> undef, undef
161222213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %14 = xor <8 x i16> undef, undef
161322213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %15 = xor <16 x i16> undef, undef
161422213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %16 = xor <32 x i16> undef, undef
161522213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %17 = xor <1 x i32> undef, undef
161622213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %18 = xor <2 x i32> undef, undef
161722213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %19 = xor <4 x i32> undef, undef
161822213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %20 = xor <8 x i32> undef, undef
161922213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %21 = xor <16 x i32> undef, undef
162022213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %22 = xor <1 x i64> undef, undef
162122213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %23 = xor <2 x i64> undef, undef
162222213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %24 = xor <4 x i64> undef, undef
162322213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %25 = xor <8 x i64> undef, undef
162422213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %26 = xor <vscale x 1 x i1> undef, undef
162522213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %27 = xor <vscale x 2 x i1> undef, undef
162622213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %28 = xor <vscale x 4 x i1> undef, undef
162722213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %29 = xor <vscale x 8 x i1> undef, undef
162822213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %30 = xor <vscale x 16 x i1> undef, undef
162922213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %31 = xor <vscale x 32 x i1> undef, undef
163022213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %32 = xor <vscale x 1 x i16> undef, undef
163122213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %33 = xor <vscale x 2 x i16> undef, undef
163222213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %34 = xor <vscale x 4 x i16> undef, undef
163322213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %35 = xor <vscale x 8 x i16> undef, undef
163422213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %36 = xor <vscale x 16 x i16> undef, undef
163522213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %37 = xor <vscale x 32 x i16> undef, undef
163622213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %38 = xor <vscale x 1 x i32> undef, undef
163722213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %39 = xor <vscale x 2 x i32> undef, undef
163822213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %40 = xor <vscale x 4 x i32> undef, undef
163922213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %41 = xor <vscale x 8 x i32> undef, undef
164022213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %42 = xor <vscale x 16 x i32> undef, undef
164122213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %43 = xor <vscale x 1 x i64> undef, undef
164222213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %44 = xor <vscale x 2 x i64> undef, undef
164322213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %45 = xor <vscale x 4 x i64> undef, undef
164422213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %46 = xor <vscale x 8 x i64> undef, undef
164522213d58SShih-Po Hung; SIFIVE-X280-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
164622213d58SShih-Po Hung;
164722213d58SShih-Po Hung  xor i1 undef, undef
164822213d58SShih-Po Hung  xor i16 undef, undef
164922213d58SShih-Po Hung  xor i32 undef, undef
165022213d58SShih-Po Hung  xor i64 undef, undef
165122213d58SShih-Po Hung
165222213d58SShih-Po Hung  xor <1 x i1> undef, undef
165322213d58SShih-Po Hung  xor <2 x i1> undef, undef
165422213d58SShih-Po Hung  xor <4 x i1> undef, undef
165522213d58SShih-Po Hung  xor <8 x i1> undef, undef
165622213d58SShih-Po Hung  xor <16 x i1> undef, undef
165722213d58SShih-Po Hung  xor <32 x i1> undef, undef
165822213d58SShih-Po Hung
165922213d58SShih-Po Hung  xor <1 x i16> undef, undef
166022213d58SShih-Po Hung  xor <2 x i16> undef, undef
166122213d58SShih-Po Hung  xor <4 x i16> undef, undef
166222213d58SShih-Po Hung  xor <8 x i16> undef, undef
166322213d58SShih-Po Hung  xor <16 x i16> undef, undef
166422213d58SShih-Po Hung  xor <32 x i16> undef, undef
166522213d58SShih-Po Hung
166622213d58SShih-Po Hung  xor <1 x i32> undef, undef
166722213d58SShih-Po Hung  xor <2 x i32> undef, undef
166822213d58SShih-Po Hung  xor <4 x i32> undef, undef
166922213d58SShih-Po Hung  xor <8 x i32> undef, undef
167022213d58SShih-Po Hung  xor <16 x i32> undef, undef
167122213d58SShih-Po Hung
167222213d58SShih-Po Hung  xor <1 x i64> undef, undef
167322213d58SShih-Po Hung  xor <2 x i64> undef, undef
167422213d58SShih-Po Hung  xor <4 x i64> undef, undef
167522213d58SShih-Po Hung  xor <8 x i64> undef, undef
167622213d58SShih-Po Hung
167722213d58SShih-Po Hung  xor <vscale x 1 x i1> undef, undef
167822213d58SShih-Po Hung  xor <vscale x 2 x i1> undef, undef
167922213d58SShih-Po Hung  xor <vscale x 4 x i1> undef, undef
168022213d58SShih-Po Hung  xor <vscale x 8 x i1> undef, undef
168122213d58SShih-Po Hung  xor <vscale x 16 x i1> undef, undef
168222213d58SShih-Po Hung  xor <vscale x 32 x i1> undef, undef
168322213d58SShih-Po Hung
168422213d58SShih-Po Hung  xor <vscale x 1 x i16> undef, undef
168522213d58SShih-Po Hung  xor <vscale x 2 x i16> undef, undef
168622213d58SShih-Po Hung  xor <vscale x 4 x i16> undef, undef
168722213d58SShih-Po Hung  xor <vscale x 8 x i16> undef, undef
168822213d58SShih-Po Hung  xor <vscale x 16 x i16> undef, undef
168922213d58SShih-Po Hung  xor <vscale x 32 x i16> undef, undef
169022213d58SShih-Po Hung
169122213d58SShih-Po Hung  xor <vscale x 1 x i32> undef, undef
169222213d58SShih-Po Hung  xor <vscale x 2 x i32> undef, undef
169322213d58SShih-Po Hung  xor <vscale x 4 x i32> undef, undef
169422213d58SShih-Po Hung  xor <vscale x 8 x i32> undef, undef
169522213d58SShih-Po Hung  xor <vscale x 16 x i32> undef, undef
169622213d58SShih-Po Hung
169722213d58SShih-Po Hung  xor <vscale x 1 x i64> undef, undef
169822213d58SShih-Po Hung  xor <vscale x 2 x i64> undef, undef
169922213d58SShih-Po Hung  xor <vscale x 4 x i64> undef, undef
170022213d58SShih-Po Hung  xor <vscale x 8 x i64> undef, undef
170122213d58SShih-Po Hung  ret i32 undef
170222213d58SShih-Po Hung}
1703