xref: /llvm-project/llvm/test/CodeGen/SystemZ/vec-rem.ll (revision 9427961c89f43a007bd6c31b195fa65f72bbd808)
1; Verify that we do not create illegal scalar urems after type legalization.
2;
3; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z13
4
5define <16 x i8> @main(i16 %arg) {
6bb:
7  %tmp6 = insertelement <16 x i16> undef, i16 %arg, i32 0
8  %tmp7 = shufflevector <16 x i16> %tmp6, <16 x i16> undef, <16 x i32> zeroinitializer
9  %tmp8 = insertelement <16 x i8> <i8 undef, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1>, i8 undef, i32 0
10  %tmp11 = urem <16 x i16> %tmp7, <i16 29265, i16 29265, i16 29265, i16 29265, i16 29265, i16 29265, i16 29265, i16 29265, i16 29265, i16 29265, i16 29265, i16 29265, i16 29265, i16 29265, i16 29265, i16 29265>
11  %tmp12 = trunc <16 x i16> %tmp11 to <16 x i8>
12  ret <16 x i8> %tmp12
13}
14