]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Fix predicate mismatch between vfcmaddcph's define_insn and define_expand.
authorliuhongt <hongtao.liu@intel.com>
Tue, 28 May 2024 02:32:12 +0000 (10:32 +0800)
committerliuhongt <hongtao.liu@intel.com>
Tue, 28 May 2024 05:45:37 +0000 (13:45 +0800)
When I applied Roger's patch [1], there's ICE due to it.
The patch fix the latent bug.

[1] https://gcc.gnu.org/pipermail/gcc-patches/2024-May/651365.html

gcc/ChangeLog:

* config/i386/sse.md
(<avx512>_<complexopname>_<mode>_mask<round_name>): Align
operands' predicate with corresponding expander.
(<avx512>_<complexopname>_<mode><maskc_name><round_name>):
Ditto.

gcc/config/i386/sse.md

index b59c988fc3150f689112a872ae21f34da9b8111e..0f4fbcb2c5da2d4df7b5bfd954477c9f3ef9d293 100644 (file)
   [(set (match_operand:VHF_AVX512VL 0 "register_operand" "=&v")
        (vec_merge:VHF_AVX512VL
          (unspec:VHF_AVX512VL
-           [(match_operand:VHF_AVX512VL 1 "nonimmediate_operand" "<int_comm>v")
-            (match_operand:VHF_AVX512VL 2 "nonimmediate_operand" "<round_constraint>")
-            (match_operand:VHF_AVX512VL 3 "register_operand" "0")]
+           [(match_operand:VHF_AVX512VL 1 "<round_nimm_predicate>" "<int_comm>v")
+            (match_operand:VHF_AVX512VL 2 "<round_nimm_predicate>" "<round_constraint>")
+            (match_operand:VHF_AVX512VL 3 "<round_nimm_predicate>" "0")]
             UNSPEC_COMPLEX_F_C_MA)
          (match_dup 1)
          (unspec:<avx512fmaskmode>
 (define_insn "<avx512>_<complexopname>_<mode><maskc_name><round_name>"
   [(set (match_operand:VHF_AVX512VL 0 "register_operand" "=&v")
          (unspec:VHF_AVX512VL
-           [(match_operand:VHF_AVX512VL 1 "nonimmediate_operand" "<int_comm>v")
-            (match_operand:VHF_AVX512VL 2 "nonimmediate_operand" "<round_constraint>")]
+           [(match_operand:VHF_AVX512VL 1 "<round_nimm_predicate>" "<int_comm>v")
+            (match_operand:VHF_AVX512VL 2 "<round_nimm_predicate>" "<round_constraint>")]
             UNSPEC_COMPLEX_F_C_MUL))]
   "TARGET_AVX512FP16 && <round_mode512bit_condition>"
 {