Some tests expect a convert instruction but nowadays
(
r12-4475-g247c407c83f001) the conversion is already done at compile
time. This results in a literal-pool load. Change the tests accordingly.
gcc/testsuite/ChangeLog:
* gcc.target/s390/zvector/vec-double-compile.c: Expect vl
instead of vc*.
* gcc.target/s390/zvector/vec-float-compile.c: Dito.
* gcc.target/s390/zvector/vec-signed-compile.c: Dito.
* gcc.target/s390/zvector/vec-unsigned-compile.c: Dito.
return vec_double (*a);
}
+/* The following immediates are being converted and directly stored
+ in the literal pool so no explicit conversion is necessary. */
+/* { dg-final { scan-assembler-times "vl\t%v\[0-9\]+,\.L\[0-9\]+\-\.L\[0-9\]+\\(%r\[0-9\]+\\)" 2 } } */
+
vector double
vcdgb_imm ()
{
return vec_double ((vector unsigned long long){ 1, 2 });
}
-/* { dg-final { scan-assembler-times "vcdgb\t" 3 } } */
-/* { dg-final { scan-assembler-times "vcdlgb\t" 3 } } */
+/* { dg-final { scan-assembler-times "vcdgb\t" 2 } } */
+/* { dg-final { scan-assembler-times "vcdlgb\t" 2 } } */
return vec_float (*a);
}
+/* The following immediates are being converted and directly stored
+ in the literal pool so no explicit conversion is necessary. */
+/* { dg-final { scan-assembler-times "vl\t%v\[0-9\]+,\.L\[0-9\]+\-\.L\[0-9\]+\\(%r\[0-9\]+\\)" 2 } } */
+
vector float
vcefb_imm ()
{
return vec_float ((vector unsigned int){ 1, 2 });
}
-/* { dg-final { scan-assembler-times "vcefb\t" 3 } } */
-/* { dg-final { scan-assembler-times "vcelfb\t" 3 } } */
+/* { dg-final { scan-assembler-times "vcefb\t" 2 } } */
+/* { dg-final { scan-assembler-times "vcelfb\t" 2 } } */
return vec_signed (*a);
}
+/* The following immediates are being converted and directly stored
+ in the literal pool so no explicit conversion is necessary. */
+/* { dg-final { scan-assembler-times "vl\t%v\[0-9\]+,\.L\[0-9\]+\-\.L\[0-9\]+\\(%r\[0-9\]+\\)" 2 } } */
+
vector signed int
vcfeb_imm ()
{
return vec_signed ((vector double){ 1.0, 2.0 });
}
-/* { dg-final { scan-assembler-times "vcfeb\t" 3 } } */
-/* { dg-final { scan-assembler-times "vcgdb\t" 3 } } */
+/* { dg-final { scan-assembler-times "vcfeb\t" 2 } } */
+/* { dg-final { scan-assembler-times "vcgdb\t" 2 } } */
return vec_unsigned (*a);
}
+/* The following immediates are being converted and directly stored
+ in the literal pool so no explicit conversion is necessary. */
+/* { dg-final { scan-assembler-times "vl\t%v\[0-9\]+,\.L\[0-9\]+\-\.L\[0-9\]+\\(%r\[0-9\]+\\)" 2 } } */
+
vector unsigned int
vclfeb_imm ()
{
return vec_unsigned ((vector double){ 1.0, 2.0 });
}
-/* { dg-final { scan-assembler-times "vclfeb\t" 3 } } */
-/* { dg-final { scan-assembler-times "vclgdb\t" 3 } } */
+/* { dg-final { scan-assembler-times "vclfeb\t" 2 } } */
+/* { dg-final { scan-assembler-times "vclgdb\t" 2 } } */