Hello Julia,
On 26 May 09:13, Koval, Julia wrote:
> Hi,
> This patch fixes these PR's. Ok for trunk?
> 
> gcc/
>       * config/i386/subst.md (round): Fix round pattern.
>       * config/i386/i386.c (ix86_erase_embedded_rounding):
>       Fix erasing rounding for the fixed pattern.
> 
> Thanks,
> Julia

Let me copy-paste parts of your patch here.
diff --git a/gcc/config/i386/subst.md b/gcc/config/i386/subst.md
index 0bc22fd..2e632b9 100644
--- a/gcc/config/i386/subst.md
+++ b/gcc/config/i386/subst.md
@@ -137,12 +137,12 @@
 
 (define_subst "round"
   [(set (match_operand:SUBST_A 0)
-        (match_operand:SUBST_A 1))]
+       (match_operand:SUBST_A 1))]
   "TARGET_AVX512F"
-  [(parallel[
-     (set (match_dup 0)
-          (match_dup 1))
-     (unspec [(match_operand:SI 2 "const_4_or_8_to_11_operand")] 
UNSPEC_EMBEDDED_ROUNDING)])])
+  [(set (match_dup 0)
+       (unspec:SUBST_A [(match_dup 1)
+       (match_operand:SI 2 "const_4_or_8_to_11_operand")]
+        UNSPEC_EMBEDDED_ROUNDING))])
 
 (define_subst_attr "round_saeonly_name" "round_saeonly" "" "_round")
 (define_subst_attr "round_saeonly_mask_operand2" "mask" "%r2" "%r4")
-- 
2.5.5

So, you propose to put RC as third argument to the set expression.
I am not sure that we might use (set ...) in such a way.

GCC Internals state that:
(set lval x)
  Represents the action of storing the value of x into the place represented by 
lval. 

May this lead to problems? From the first looks like answer is NO and we're 
might
add stuff back to the set expression.

Jakub, Richard, could you pls comment on this?

--
Thanks, K




Reply via email to