|
1 |
| -//@ compile-flags: -O |
| 1 | +//@ revisions: OPT2 OPT3WINX64 OPT3LINX64 |
| 2 | +//@ [OPT2] compile-flags: -O |
| 3 | +//@ [OPT3LINX64] compile-flags: -C opt-level=3 |
| 4 | +//@ [OPT3WINX64] compile-flags: -C opt-level=3 |
| 5 | +//@ [OPT3LINX64] only-linux |
| 6 | +//@ [OPT3WINX64] only-windows |
| 7 | +//@ [OPT3LINX64] only-x86_64 |
| 8 | +//@ [OPT3WINX64] only-x86_64 |
2 | 9 | //@ min-llvm-version: 18.1.3
|
3 | 10 |
|
4 | 11 | #![crate_type = "lib"]
|
|
9 | 16 | // to avoid complicating the code.
|
10 | 17 | // CHECK-LABEL: define{{.*}}void @convert(
|
11 | 18 | // CHECK-NOT: shufflevector
|
12 |
| -// CHECK: insertelement <8 x i16> |
13 |
| -// CHECK-NEXT: insertelement <8 x i16> |
14 |
| -// CHECK-NEXT: insertelement <8 x i16> |
15 |
| -// CHECK-NEXT: insertelement <8 x i16> |
16 |
| -// CHECK-NEXT: insertelement <8 x i16> |
17 |
| -// CHECK-NEXT: insertelement <8 x i16> |
18 |
| -// CHECK-NEXT: insertelement <8 x i16> |
19 |
| -// CHECK-NEXT: insertelement <8 x i16> |
20 |
| -// CHECK-NEXT: store <8 x i16> |
| 19 | +// OPT2: store i16 |
| 20 | +// OPT2-NEXT: getelementptr inbounds i8, {{.+}} 2 |
| 21 | +// OPT2-NEXT: store i16 |
| 22 | +// OPT2-NEXT: getelementptr inbounds i8, {{.+}} 4 |
| 23 | +// OPT2-NEXT: store i16 |
| 24 | +// OPT2-NEXT: getelementptr inbounds i8, {{.+}} 6 |
| 25 | +// OPT2-NEXT: store i16 |
| 26 | +// OPT2-NEXT: getelementptr inbounds i8, {{.+}} 8 |
| 27 | +// OPT2-NEXT: store i16 |
| 28 | +// OPT2-NEXT: getelementptr inbounds i8, {{.+}} 10 |
| 29 | +// OPT2-NEXT: store i16 |
| 30 | +// OPT2-NEXT: getelementptr inbounds i8, {{.+}} 12 |
| 31 | +// OPT2-NEXT: store i16 |
| 32 | +// OPT2-NEXT: getelementptr inbounds i8, {{.+}} 14 |
| 33 | +// OPT2-NEXT: store i16 |
| 34 | +// OPT3LINX64: load <8 x i16> |
| 35 | +// OPT3LINX64-NEXT: call <8 x i16> @llvm.bswap |
| 36 | +// OPT3LINX64-NEXT: store <8 x i16> |
| 37 | +// OPT3WINX64: load <8 x i16> |
| 38 | +// OPT3WINX64-NEXT: call <8 x i16> @llvm.bswap |
| 39 | +// OPT3WINX64-NEXT: store <8 x i16> |
21 | 40 | // CHECK-NEXT: ret void
|
22 | 41 | #[no_mangle]
|
23 | 42 | #[cfg(target_endian = "little")]
|
|
0 commit comments