1
1
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2
2
2
; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu \
3
- ; RUN: -mcpu=pwr7 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr < %s | \
3
+ ; RUN: -mcpu=pwr8 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr < %s | \
4
4
; RUN: FileCheck %s
5
5
6
6
define dso_local <16 x i8 > @x2 (<16 x i8 > noundef %x ) {
7
7
; CHECK-LABEL: x2:
8
8
; CHECK: # %bb.0: # %entry
9
- ; CHECK-NEXT: vspltisb v3, 1
10
- ; CHECK-NEXT: vslb v2, v2, v3
9
+ ; CHECK-NEXT: vaddubm v2, v2, v2
11
10
; CHECK-NEXT: blr
12
11
entry:
13
12
%add = shl <16 x i8 > %x , <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 1 >
17
16
define dso_local <8 x i16 > @x2h (<8 x i16 > noundef %x ) {
18
17
; CHECK-LABEL: x2h:
19
18
; CHECK: # %bb.0: # %entry
20
- ; CHECK-NEXT: vspltish v3, 1
21
- ; CHECK-NEXT: vslh v2, v2, v3
19
+ ; CHECK-NEXT: vadduhm v2, v2, v2
22
20
; CHECK-NEXT: blr
23
21
entry:
24
22
%add = shl <8 x i16 > %x , <i16 1 , i16 1 , i16 1 , i16 1 , i16 1 , i16 1 , i16 1 , i16 1 >
@@ -28,10 +26,22 @@ entry:
28
26
define dso_local <4 x i32 > @x2w (<4 x i32 > noundef %x ) {
29
27
; CHECK-LABEL: x2w:
30
28
; CHECK: # %bb.0: # %entry
31
- ; CHECK-NEXT: vspltisw v3, 1
32
- ; CHECK-NEXT: vslw v2, v2, v3
29
+ ; CHECK-NEXT: vadduwm v2, v2, v2
33
30
; CHECK-NEXT: blr
34
31
entry:
35
32
%add = shl <4 x i32 > %x , <i32 1 , i32 1 , i32 1 , i32 1 >
36
33
ret <4 x i32 > %add
37
34
}
35
+
36
+ define dso_local <2 x i64 > @x2d (<2 x i64 > noundef %x ) {
37
+ ; CHECK-LABEL: x2d:
38
+ ; CHECK: # %bb.0: # %entry
39
+ ; CHECK-NEXT: addis r3, r2, .LCPI3_0@toc@ha
40
+ ; CHECK-NEXT: addi r3, r3, .LCPI3_0@toc@l
41
+ ; CHECK-NEXT: lxvd2x v3, 0, r3
42
+ ; CHECK-NEXT: vsld v2, v2, v3
43
+ ; CHECK-NEXT: blr
44
+ entry:
45
+ %add = shl <2 x i64 > %x , <i64 1 , i64 1 >
46
+ ret <2 x i64 > %add
47
+ }
0 commit comments