Commit 8c21b0d1 by Andreas Krebbel Committed by Andreas Krebbel

S/390: Fix PR87723

gcc/ChangeLog:

2018-11-06  Andreas Krebbel  <krebbel@linux.ibm.com>

	PR target/87723
	* config/s390/s390.md ("*r<noxa>sbg_di_rotl"): Remove mode
	attributes for operands 3 and 4.

gcc/testsuite/ChangeLog:

2018-11-06  Andreas Krebbel  <krebbel@linux.ibm.com>

	PR target/87723
	* gcc.target/s390/pr87723.c: New test.

From-SVN: r265832
parent d24c3ef2
2018-11-06 Andreas Krebbel <krebbel@linux.ibm.com>
PR target/87723
* config/s390/s390.md ("*r<noxa>sbg_di_rotl"): Remove mode
attributes for operands 3 and 4.
2018-11-06 Richard Biener <rguenther@suse.de> 2018-11-06 Richard Biener <rguenther@suse.de>
PR middle-end/18041 PR middle-end/18041
...@@ -4230,7 +4230,7 @@ ...@@ -4230,7 +4230,7 @@
(match_operand:DI 4 "nonimmediate_operand" "0"))) (match_operand:DI 4 "nonimmediate_operand" "0")))
(clobber (reg:CC CC_REGNUM))] (clobber (reg:CC CC_REGNUM))]
"TARGET_Z10" "TARGET_Z10"
"r<noxa>sbg\t%0,%1,%<bfstart>2,%<bfend>2,%b3" "r<noxa>sbg\t%0,%1,%s2,%e2,%b3"
[(set_attr "op_type" "RIE")]) [(set_attr "op_type" "RIE")])
; rosbg, rxsbg ; rosbg, rxsbg
......
2018-11-06 Andreas Krebbel <krebbel@linux.ibm.com>
PR target/87723
* gcc.target/s390/pr87723.c: New test.
2018-11-06 Richard Biener <rguenther@suse.de> 2018-11-06 Richard Biener <rguenther@suse.de>
PR middle-end/18041 PR middle-end/18041
......
/* { dg-do compile } */
/* { dg-options "-O3 -march=z196 -m64 -mzarch" } */
unsigned long a;
int b;
void c(char* i) {
for (;;) {
char g = 0;
for (; g < 24; ++g)
b = a << g | a >> 64 - g;
{
char *d = i;
long h = b;
char e = 0;
for (; e < 8; ++e)
d[e] = h;
}
char *d = i;
signed e;
unsigned long f = 0;
e = 7;
for (; e; --e) {
f <<= 8;
f |= d[e];
}
for (; e < 8; ++e)
d[e] = f;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment