]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
testsuite: Fix pr124086-1.c for ia32 (and maybe others)
authorAndrew Pinski <andrew.pinski@oss.qualcomm.com>
Sun, 15 Feb 2026 06:29:18 +0000 (22:29 -0800)
committerAndrew Pinski <andrew.pinski@oss.qualcomm.com>
Sun, 15 Feb 2026 06:38:56 +0000 (22:38 -0800)
On some targets (ia32 for an example), sizeof long double
is not a power of 2, this means you can't create a vector
of it. So let's disable this testcase for non power of 2
sizeof long double. This needs to be done via a preprocessor
macro as vector_size would cause an error otherwise.

Committed as obvious after a test on x86_64 with -m32.

gcc/testsuite/ChangeLog:

* c-c++-common/torture/pr124086-1.c: Only enable
for power of 2 long double.

gcc/testsuite/c-c++-common/torture/pr124086-1.c

index 6bca0431e4c80da6903e15f429a61d4c4442d44c..b52d8e03f467ca50d86e993cab80747b7a295dc6 100644 (file)
@@ -2,6 +2,8 @@
 /* { dg-options "" } */
 /* PR tree-optimization/124086 */
 
+/* Disable for non power of 2 long double as a vector of that is not supported. */
+#if (__SIZEOF_LONG_DOUBLE__ & -__SIZEOF_LONG_DOUBLE__) == __SIZEOF_LONG_DOUBLE__
 
 typedef __attribute__((__vector_size__(2*sizeof(long double)))) int V;
 int j;
@@ -13,3 +15,5 @@ foo()
   _Complex long double t =  *(_Complex long double *)&v;
   j = __real__ t;
 }
+
+#endif