1 ; RUN: llc -march=x86-64 -mcpu=core2 -mattr=+sse4.1 < %s | FileCheck %s -check-prefix=SSE41
2 ; RUN: llc -march=x86-64 -mcpu=core2 < %s | FileCheck %s -check-prefix=SSE
3 ; RUN: llc -march=x86-64 -mcpu=core-avx2 < %s | FileCheck %s -check-prefix=AVX
5 define <4 x i32> @test1(<4 x i32> %a) {
6 %div = udiv <4 x i32> %a, <i32 7, i32 7, i32 7, i32 7>
30 define <8 x i32> @test2(<8 x i32> %a) {
31 %div = udiv <8 x i32> %a, <i32 7, i32 7, i32 7, i32 7,i32 7, i32 7, i32 7, i32 7>
46 define <8 x i16> @test3(<8 x i16> %a) {
47 %div = udiv <8 x i16> %a, <i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7>
65 define <16 x i16> @test4(<16 x i16> %a) {
66 %div = udiv <16 x i16> %a, <i16 7, i16 7, i16 7, i16 7,i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7,i16 7, i16 7, i16 7, i16 7>
78 define <8 x i16> @test5(<8 x i16> %a) {
79 %div = sdiv <8 x i16> %a, <i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7>
95 define <16 x i16> @test6(<16 x i16> %a) {
96 %div = sdiv <16 x i16> %a, <i16 7, i16 7, i16 7, i16 7,i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7,i16 7, i16 7, i16 7, i16 7>
107 define <16 x i8> @test7(<16 x i8> %a) {
108 %div = sdiv <16 x i8> %a, <i8 7, i8 7, i8 7, i8 7,i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7,i8 7, i8 7, i8 7, i8 7>
112 ; SSE41-LABEL: test7:
118 define <4 x i32> @test8(<4 x i32> %a) {
119 %div = sdiv <4 x i32> %a, <i32 7, i32 7, i32 7, i32 7>
122 ; SSE41-LABEL: test8:
125 ; SSE41-NOT: pshufd $49
140 ; SSE-NOT: pshufd $49
153 ; AVX-NOT: vpshufd $49
163 define <8 x i32> @test9(<8 x i32> %a) {
164 %div = sdiv <8 x i32> %a, <i32 7, i32 7, i32 7, i32 7,i32 7, i32 7, i32 7, i32 7>
179 define <8 x i32> @test10(<8 x i32> %a) {
180 %rem = urem <8 x i32> %a, <i32 7, i32 7, i32 7, i32 7,i32 7, i32 7, i32 7, i32 7>
196 define <8 x i32> @test11(<8 x i32> %a) {
197 %rem = srem <8 x i32> %a, <i32 7, i32 7, i32 7, i32 7,i32 7, i32 7, i32 7, i32 7>
213 define <2 x i16> @test12() {
214 %I8 = insertelement <2 x i16> zeroinitializer, i16 -1, i32 0
215 %I9 = insertelement <2 x i16> %I8, i16 -1, i32 1
216 %B9 = urem <2 x i16> %I9, %I9