https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92398

Xiong Hu XS Luo <luoxhu at cn dot ibm.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |luoxhu at cn dot ibm.com

--- Comment #2 from Xiong Hu XS Luo <luoxhu at cn dot ibm.com> ---
Sorry that I mistook to change the case pr72804.c: this case has no
relationship with the parameter -fno-inline-functions --param
max-inline-insns-single-O2=200.  This test appears in category of "New tests
that FAIL (6 tests):".

Checked the test result history:
For Power9, it is failed since r268152 of Jan 22, 2019. 
https://gcc.gnu.org/ml/gcc-testresults/2019-01/msg02232.html.
For Power 7, it starts to fail since r267319 of Dec 21, 2018.
https://gcc.gnu.org/ml/gcc-testresults/2018-12/msg02500.html

Peter added this case pr72804.c in r251153 of Aug 17, 2017 to generate better
code for -mvsx-timode. But it restrict the condition to !BYTES_BIG_ENDIAN and
!TARGET_P9_VECTOR:

+;; Peepholes to catch loads and stores for TImode if TImode landed in
+;; GPR registers on a little endian system.
+(define_peephole2
+  [(set (match_operand:VSX_TI 0 "int_reg_operand")
+       (rotate:VSX_TI (match_operand:VSX_TI 1 "memory_operand")
+                      (const_int 64)))
+   (set (match_operand:VSX_TI 2 "int_reg_operand")
+       (rotate:VSX_TI (match_dup 0)
+                      (const_int 64)))]
+  "!BYTES_BIG_ENDIAN && TARGET_VSX && TARGET_VSX_TIMODE && !TARGET_P9_VECTOR
+   && (rtx_equal_p (operands[0], operands[2])
+       || peep2_reg_dead_p (2, operands[0]))"
+   [(set (match_dup 2) (match_dup 1))])


I am not sure these failures are leaved for won't fix or need update the vsx.md
to generate better code?

On Power9, the expected code is:
0000000000000020 <bar>:
 20:   f8 20 84 7c     not     r4,r4
 24:   f8 28 a5 7c     not     r5,r5
 28:   00 00 83 f8     std     r4,0(r3)
 2c:   08 00 a3 f8     std     r5,8(r3)
 30:   20 00 80 4e     blr

But actual code is:
0000000000000020 <bar>:
 20:   66 23 05 7c     mtvsrdd vs0,r5,r4
 24:   10 05 00 f0     xxlnor  vs0,vs0,vs0
 28:   05 00 03 f4     stxv    vs0,0(r3)
 2c:   20 00 80 4e     blr

Reply via email to