gcc.target/i386/pr[27827|50038].c: Compile with -mno-sse
Two i386 test cases are compiled with -mno-sse to avoid spurious failures after a recent vectorization change.
Two specific test cases for the i386 target, pr27827.c and pr50038.c, are now compiled with the -mno-sse flag. This change prevents test failures related to SSE instructions that arose after a recent commit allowed for two-lane vector reductions without explicit target support. These tests did not originally rely on SSE instructions.
In Details
Following commit fb0838bc1073aa5f22ec38e0cca2d70d625c6d71, test cases gcc.target/i386/pr27827.c and gcc.target/i386/pr50038.c began to fail the scan-assembler checks when compiled with -march=native. This is because the new vectorization logic can vectorize these tests, leading to unexpected assembly output (e.g., fmul %st or movzbl 2). Compiling with -mno-sse ensures these tests adhere to their original intent, avoiding interference from the broader vectorization improvements.
- SSE
- Streaming SIMD Extensions, a set of CPU instructions introduced by Intel for improving multimedia and floating-point performance.
- i386
- The architecture of the Intel 80386 processor, a 32-bit extension of the x86 instruction set architecture. It is a foundational architecture for many PCs.
- scan-assembler
- A test utility in GCC that checks the output of the assembler to ensure it matches expected patterns, often used to verify specific instruction sequences or code generation properties.