ret void
}
-
-; CHECK-LABEL: 'shift'
-define void @shift() {
- ; SSSE3: cost of 10 {{.*}} %A0 = shl
- ; SSE42: cost of 10 {{.*}} %A0 = shl
- ; AVX: cost of 10 {{.*}} %A0 = shl
- ; AVX2: cost of 1 {{.*}} %A0 = shl
- ; AVX512: cost of 1 {{.*}} %A0 = shl
- %A0 = shl <4 x i32> undef, undef
- ; SSSE3: cost of 4 {{.*}} %A1 = shl
- ; SSE42: cost of 4 {{.*}} %A1 = shl
- ; AVX: cost of 4 {{.*}} %A1 = shl
- ; AVX2: cost of 1 {{.*}} %A1 = shl
- ; AVX512: cost of 1 {{.*}} %A1 = shl
- %A1 = shl <2 x i64> undef, undef
- ; SSSE3: cost of 20 {{.*}} %A2 = shl
- ; SSE42: cost of 20 {{.*}} %A2 = shl
- ; AVX: cost of 20 {{.*}} %A2 = shl
- ; AVX2: cost of 1 {{.*}} %A2 = shl
- ; AVX512: cost of 1 {{.*}} %A2 = shl
- %A2 = shl <8 x i32> undef, undef
- ; SSSE3: cost of 8 {{.*}} %A3 = shl
- ; SSE42: cost of 8 {{.*}} %A3 = shl
- ; AVX: cost of 8 {{.*}} %A3 = shl
- ; AVX2: cost of 1 {{.*}} %A3 = shl
- ; AVX512: cost of 1 {{.*}} %A3 = shl
- %A3 = shl <4 x i64> undef, undef
-
- ; SSSE3: cost of 16 {{.*}} %B0 = lshr
- ; SSE42: cost of 16 {{.*}} %B0 = lshr
- ; AVX: cost of 16 {{.*}} %B0 = lshr
- ; AVX2: cost of 1 {{.*}} %B0 = lshr
- ; AVX512: cost of 1 {{.*}} %B0 = lshr
- %B0 = lshr <4 x i32> undef, undef
- ; SSSE3: cost of 4 {{.*}} %B1 = lshr
- ; SSE42: cost of 4 {{.*}} %B1 = lshr
- ; AVX: cost of 4 {{.*}} %B1 = lshr
- ; AVX2: cost of 1 {{.*}} %B1 = lshr
- ; AVX512: cost of 1 {{.*}} %B1 = lshr
- %B1 = lshr <2 x i64> undef, undef
- ; SSSE3: cost of 32 {{.*}} %B2 = lshr
- ; SSE42: cost of 32 {{.*}} %B2 = lshr
- ; AVX: cost of 32 {{.*}} %B2 = lshr
- ; AVX2: cost of 1 {{.*}} %B2 = lshr
- ; AVX512: cost of 1 {{.*}} %B2 = lshr
- %B2 = lshr <8 x i32> undef, undef
- ; SSSE3: cost of 8 {{.*}} %B3 = lshr
- ; SSE42: cost of 8 {{.*}} %B3 = lshr
- ; AVX: cost of 8 {{.*}} %B3 = lshr
- ; AVX2: cost of 1 {{.*}} %B3 = lshr
- ; AVX512: cost of 1 {{.*}} %B3 = lshr
- %B3 = lshr <4 x i64> undef, undef
-
- ; SSSE3: cost of 16 {{.*}} %C0 = ashr
- ; SSE42: cost of 16 {{.*}} %C0 = ashr
- ; AVX: cost of 16 {{.*}} %C0 = ashr
- ; AVX2: cost of 1 {{.*}} %C0 = ashr
- ; AVX512: cost of 1 {{.*}} %C0 = ashr
- %C0 = ashr <4 x i32> undef, undef
- ; SSSE3: cost of 12 {{.*}} %C1 = ashr
- ; SSE42: cost of 12 {{.*}} %C1 = ashr
- ; AVX: cost of 12 {{.*}} %C1 = ashr
- ; AVX2: cost of 4 {{.*}} %C1 = ashr
- ; AVX512: cost of 4 {{.*}} %C1 = ashr
- %C1 = ashr <2 x i64> undef, undef
- ; SSSE3: cost of 32 {{.*}} %C2 = ashr
- ; SSE42: cost of 32 {{.*}} %C2 = ashr
- ; AVX: cost of 32 {{.*}} %C2 = ashr
- ; AVX2: cost of 1 {{.*}} %C2 = ashr
- ; AVX512: cost of 1 {{.*}} %C2 = ashr
- %C2 = ashr <8 x i32> undef, undef
- ; SSSE3: cost of 24 {{.*}} %C3 = ashr
- ; SSE42: cost of 24 {{.*}} %C3 = ashr
- ; AVX: cost of 24 {{.*}} %C3 = ashr
- ; AVX2: cost of 4 {{.*}} %C3 = ashr
- ; AVX512: cost of 4 {{.*}} %C3 = ashr
- %C3 = ashr <4 x i64> undef, undef
-
- ret void
-}