|
@@ -3,6 +3,7 @@
|
|
// CHECK: [[v4f1:%\d+]] = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
|
// CHECK: [[v4f1:%\d+]] = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
|
// CHECK: [[v4f25:%\d+]] = OpConstantComposite %v4float %float_2_5 %float_2_5 %float_2_5 %float_2_5
|
|
// CHECK: [[v4f25:%\d+]] = OpConstantComposite %v4float %float_2_5 %float_2_5 %float_2_5 %float_2_5
|
|
// CHECK: [[v4f0:%\d+]] = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
|
|
// CHECK: [[v4f0:%\d+]] = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
|
|
|
|
+// CHECK: [[v3f1:%\d+]] = OpConstantComposite %v3float %float_1 %float_1 %float_1
|
|
|
|
|
|
float4 main(float input: INPUT) : SV_Target {
|
|
float4 main(float input: INPUT) : SV_Target {
|
|
|
|
|
|
@@ -22,6 +23,12 @@ float4 main(float input: INPUT) : SV_Target {
|
|
// CHECK-NEXT: OpStore %d [[rhs]]
|
|
// CHECK-NEXT: OpStore %d [[rhs]]
|
|
float4 d = float4(input, input, 0.0.xx);
|
|
float4 d = float4(input, input, 0.0.xx);
|
|
|
|
|
|
|
|
+// CHECK: [[e:%\d+]] = OpLoad %v4float %e
|
|
|
|
+// CHECK-NEXT: [[val:%\d+]] = OpVectorShuffle %v4float [[e]] [[v3f1]] 4 5 6 3
|
|
|
|
+// CHECK-NEXT: OpStore %e [[val]]
|
|
|
|
+ float4 e;
|
|
|
|
+ (e.xyz) = 1.0.xxx; // Parentheses
|
|
|
|
+
|
|
// CHECK: OpReturnValue [[v4f0]]
|
|
// CHECK: OpReturnValue [[v4f0]]
|
|
return 0.0.xxxx;
|
|
return 0.0.xxxx;
|
|
}
|
|
}
|