[Bug target/95218] [11 Regression] FAIL: gcc.target/i386/fma_run_double_1.c execution test since r11-455-g94f687bd9ae37ece
ubizjak at gmail dot com
gcc-bugzilla@gcc.gnu.org
Wed May 20 12:50:22 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95218
Uroš Bizjak <ubizjak at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |law at gcc dot gnu.org,
| |rsandifo at gcc dot gnu.org
--- Comment #9 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Uroš Bizjak from comment #7)
> Ooh, yes :(
>
> '(use X)'
> Represents the use of the value of X. It indicates that the value
> in X at this point in the program is needed, even though it may not
> be apparent why this is so. Therefore, the compiler will not
> attempt to delete previous instructions whose only effect is to
> store a value in X. X must be a 'reg' expression.
>
> Partial revert is in works.
Actually, no. The above applies to single (use ...) RTX, not (use ...) as part
of a parallel. There are plenty of uses of memory_operands in i386.md:
(define_insn "fix_truncdi_i387"
[(set (match_operand:DI 0 "nonimmediate_operand" "=m")
(fix:DI (match_operand 1 "register_operand" "f")))
(use (match_operand:HI 2 "memory_operand" "m"))
(use (match_operand:HI 3 "memory_operand" "m"))
(clobber (match_scratch:XF 4 "=&f"))]
Let's ask experts.
More information about the Gcc-bugs
mailing list