From 2301c17eb1c61bab266bf026bcfc1248543194dd Mon Sep 17 00:00:00 2001 From: Andreas Krebbel Date: Fri, 24 Mar 2017 13:55:41 +0000 Subject: S/390: movsf/sd pattern fixes. The SD/SFmode move pattern used a wrong mnemonic for vector load element. On the vector load element instruction was an operand missing. Regression tested on s390x. 2017-03-24 Andreas Krebbel * config/s390/s390.md ("mov" SD_SF): Change vleg/vsteg to vlef/vstef. Add missing operand to vleif. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246447 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/config/s390/s390.md | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'gcc') diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7098da9ca3a..0b76aa4ea6c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2017-03-24 Andreas Krebbel + + * config/s390/s390.md ("mov" SD_SF): Change vleg/vsteg to + vlef/vstef. Add missing operand to vleif. + 2017-03-24 Andreas Krebbel * config/s390/s390.c (s390_expand_vec_init): Enable vector load diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md index 555a779d16e..75b15df418b 100644 --- a/gcc/config/s390/s390.md +++ b/gcc/config/s390/s390.md @@ -2613,11 +2613,11 @@ st\t%1,%0 sty\t%1,%0 vlr\t%v0,%v1 - vleif\t%v0,0 + vleif\t%v0,0,0 vlvgf\t%v0,%1,0 vlgvf\t%0,%v1,0 - vleg\t%0,%1,0 - vsteg\t%1,%0,0" + vlef\t%0,%1,0 + vstef\t%1,%0,0" [(set_attr "op_type" "RRE,RR,RR,RXE,RX,RXY,RX,RXY,RI,RR,RIL,RX,RXY,RIL,RX,RXY,VRR,VRI,VRS,VRS,VRX,VRX") (set_attr "type" "fsimpsf,fsimpsf,fload,fload,fload,fload, fstore,fstore,*,lr,load,load,load,store,store,store,*,*,*,*,load,store") -- cgit v1.2.3