diff --git a/tests/codegen/issues/issue-122805.rs b/tests/codegen/issues/issue-122805.rs index 6a5be39238f..6d108ada6dd 100644 --- a/tests/codegen/issues/issue-122805.rs +++ b/tests/codegen/issues/issue-122805.rs @@ -1,4 +1,11 @@ -//@ compile-flags: -O +//@ revisions: OPT2 OPT3WINX64 OPT3LINX64 +//@ [OPT2] compile-flags: -O +//@ [OPT3LINX64] compile-flags: -C opt-level=3 +//@ [OPT3WINX64] compile-flags: -C opt-level=3 +//@ [OPT3LINX64] only-linux +//@ [OPT3WINX64] only-windows +//@ [OPT3LINX64] only-x86_64 +//@ [OPT3WINX64] only-x86_64 //@ min-llvm-version: 18.1.3 #![crate_type = "lib"] @@ -9,15 +16,27 @@ // to avoid complicating the code. // CHECK-LABEL: define{{.*}}void @convert( // CHECK-NOT: shufflevector -// CHECK: insertelement <8 x i16> -// CHECK-NEXT: insertelement <8 x i16> -// CHECK-NEXT: insertelement <8 x i16> -// CHECK-NEXT: insertelement <8 x i16> -// CHECK-NEXT: insertelement <8 x i16> -// CHECK-NEXT: insertelement <8 x i16> -// CHECK-NEXT: insertelement <8 x i16> -// CHECK-NEXT: insertelement <8 x i16> -// CHECK-NEXT: store <8 x i16> +// OPT2: store i16 +// OPT2-NEXT: getelementptr inbounds i8, {{.+}} 2 +// OPT2-NEXT: store i16 +// OPT2-NEXT: getelementptr inbounds i8, {{.+}} 4 +// OPT2-NEXT: store i16 +// OPT2-NEXT: getelementptr inbounds i8, {{.+}} 6 +// OPT2-NEXT: store i16 +// OPT2-NEXT: getelementptr inbounds i8, {{.+}} 8 +// OPT2-NEXT: store i16 +// OPT2-NEXT: getelementptr inbounds i8, {{.+}} 10 +// OPT2-NEXT: store i16 +// OPT2-NEXT: getelementptr inbounds i8, {{.+}} 12 +// OPT2-NEXT: store i16 +// OPT2-NEXT: getelementptr inbounds i8, {{.+}} 14 +// OPT2-NEXT: store i16 +// OPT3LINX64: load <8 x i16> +// OPT3LINX64-NEXT: call <8 x i16> @llvm.bswap +// OPT3LINX64-NEXT: store <8 x i16> +// OPT3WINX64: load <8 x i16> +// OPT3WINX64-NEXT: call <8 x i16> @llvm.bswap +// OPT3WINX64-NEXT: store <8 x i16> // CHECK-NEXT: ret void #[no_mangle] #[cfg(target_endian = "little")]