gcc/ChangeLog:
PR target/111907
* config/i386/i386.md (avx_noavx512vl): New definition for isa
attribute.
* config/i386/sse.md (*andnot<mode>3): Change isa attribute from
avx_noavx512f to avx_noavx512vl.
gcc/testsuite/ChangeLog:
PR target/111907
* gcc.target/i386/pr111907.c: New test.
(eq_attr "isa" "avx") (symbol_ref "TARGET_AVX")
(eq_attr "isa" "avx_noavx512f")
(symbol_ref "TARGET_AVX && !TARGET_AVX512F")
+ (eq_attr "isa" "avx_noavx512vl")
+ (symbol_ref "TARGET_AVX && !TARGET_AVX512VL")
(eq_attr "isa" "noavx") (symbol_ref "!TARGET_AVX")
(eq_attr "isa" "avx2") (symbol_ref "TARGET_AVX2")
(eq_attr "isa" "noavx2") (symbol_ref "!TARGET_AVX2")
output_asm_insn (buf, operands);
return "";
}
- [(set_attr "isa" "noavx,avx_noavx512f,avx512vl,avx512f_512")
+ [(set_attr "isa" "noavx,avx_noavx512vl,avx512vl,avx512f_512")
(set_attr "addr" "*,gpr16,*,*")
(set_attr "type" "sselog")
(set (attr "prefix_data16")
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-mavx512f -mno-evex512" } */
+
+_Float128
+foo (_Float128 d, _Float128 e)
+{
+ return __builtin_copysignf128 (d, e);
+}