[Bug target/81763] Issues with BMI on 32bit x86 apps on GCC 7.1+
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Jan 26 12:11:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81763
--- Comment #43 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Uroš Bizjak from comment #41)
> Let's go forward with this pattern:
>
> (define_insn "*andndi3_doubleword"
> [(set (match_operand:DI 0 "register_operand" "=&r,r,r,&r")
> (and:DI
> (not:DI (match_operand:DI 1 "register_operand" "r,0,r,0"))
> (match_operand:DI 2 "nonimmediate_operand" "rm,rm,0,rm")))
> (clobber (reg:CC FLAGS_REG))]
> "!TARGET_64BIT && TARGET_STV && TARGET_SSE2"
> "#"
> [(set_attr "isa" "bmi,bmi,bmi,*")])
This looks reasonable to me.
(In reply to Mike Lothian from comment #42)
> With the patch in Comment 36 I get the following error compiling Clang
Just out of interest, could you attach the preprocessed source here, I'd like
to see the case when the RA assigns such a partial overlap. As you're using
-march=native, will need g++ output with -v added to the command too (what
flags it expands to).
More information about the Gcc-bugs
mailing list