[PATCH, committed] Fix PR 57615, power8 generates an error for -mquad-memory -mno-vsx
Michael Meissner
meissner@linux.vnet.ibm.com
Fri Jun 14 21:01:00 GMT 2013
I'm committing this as an obvious fix to a thinko on my part. The problem was
I didn't think about the case where quad memory instructions were available,
but not VSX instructions. The quad memory support was added to the VSX
implementation of movti for 64-bit, but it wasn't added to the non-VSX
implementation.
I bootstraped it and did a make check comparison with no regressions.
2013-06-14 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/57615
* config/rs6000/rs6000.md (mov<mode>_ppc64): Call
rs6000_output_move_128bit to handle emitting quad memory
operations. Set attribute length to 8 bytes.
--
Michael Meissner, IBM
IBM, M/S 2506R, 550 King Street, Littleton, MA 01460, USA
email: meissner@linux.vnet.ibm.com, phone: +1 (978) 899-4797
-------------- next part --------------
Index: gcc/config/rs6000/rs6000.md
===================================================================
--- gcc/config/rs6000/rs6000.md (revision 200105)
+++ gcc/config/rs6000/rs6000.md (working copy)
@@ -10020,8 +10020,11 @@ (define_insn "*mov<mode>_ppc64"
"(TARGET_POWERPC64 && VECTOR_MEM_NONE_P (<MODE>mode)
&& (gpc_reg_operand (operands[0], <MODE>mode)
|| gpc_reg_operand (operands[1], <MODE>mode)))"
- "#"
- [(set_attr "type" "store,load,*,*")])
+{
+ return rs6000_output_move_128bit (operands);
+}
+ [(set_attr "type" "store,load,*,*")
+ (set_attr "length" "8")])
(define_split
[(set (match_operand:TI2 0 "int_reg_operand" "")
More information about the Gcc-patches
mailing list