[Bug rtl-optimization/89310] Poor code generation returning float field from a struct

2020-07-21 Thread luoxhu at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89310 luoxhu at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|-

[Bug rtl-optimization/89310] Poor code generation returning float field from a struct

2020-07-20 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89310 --- Comment #9 from CVS Commits --- The master branch has been updated by Xiong Hu Luo : https://gcc.gnu.org/g:2ef4cf87a7c7f36c1fe523e4d71bbb4846ab0c35 commit r11-2245-g2ef4cf87a7c7f36c1fe523e4d71bbb4846ab0c35 Author: Xionghu Luo Date: Mon J

[Bug rtl-optimization/89310] Poor code generation returning float field from a struct

2020-07-02 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89310 --- Comment #7 from luoxhu at gcc dot gnu.org --- (In reply to Segher Boessenkool from comment #6) > rldicr is one of the insns generated by "*rotl3_mask", which > recognises all canonical formulations of all our rotate-and-mask > instructions. Y

[Bug rtl-optimization/89310] Poor code generation returning float field from a struct

2020-06-29 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89310 --- Comment #6 from Segher Boessenkool --- rldicr is one of the insns generated by "*rotl3_mask", which recognises all canonical formulations of all our rotate-and-mask instructions.

[Bug rtl-optimization/89310] Poor code generation returning float field from a struct

2020-06-28 Thread luoxhu at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89310 --- Comment #5 from luoxhu at gcc dot gnu.org --- Thanks. I copied the code from movsf_from_si to make a define_insn_and_split for "movsf_from_si2", but we don't have define_insn for rldicr, so I use gen_anddi3 instead, any comment? foo: .LFB0:

[Bug rtl-optimization/89310] Poor code generation returning float field from a struct

2020-06-24 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89310 --- Comment #4 from Segher Boessenkool --- Maybe you can make a define_insn_and_split for the lshrdi3 plus this? Which will split to an insn fewer immediately. If you split after reload you need many extra patterns to get the most basic optimisa

[Bug rtl-optimization/89310] Poor code generation returning float field from a struct

2020-06-22 Thread luoxhu at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89310 luoxhu at gcc dot gnu.org changed: What|Removed |Added CC||luoxhu at gcc dot gnu.org ---

[Bug rtl-optimization/89310] Poor code generation returning float field from a struct

2019-02-12 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89310 Segher Boessenkool changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed|

[Bug rtl-optimization/89310] Poor code generation returning float field from a struct

2019-02-12 Thread bergner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89310 --- Comment #1 from Peter Bergner --- Before combine, we have the following rtl: (insn # # # 2 (set (reg/v:DI 122 [ argD.2825 ]) (reg:DI 3 3 [ argD.2825 ])) "struct.i":8:1# {*movdi_internal64} (expr_list:REG_DEAD (reg:DI 3 3 [ argD.