[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#325131: gcc-4.0: regression on hppa and arm, possibly wrong code



On Mon, Sep 12, 2005 at 01:29:38PM +0200, Max Vozeler wrote:
> I've been able to find a reduced testcase that shows the problem.
> can find below the results using gcc-3.4 and gcc-4.0 with -O1/-O2 each.
> The problem only shows with gcc-4.0 and -O2 on hppa.

In case this helps analyze the problem, attached is the difference in
generated code as seen by objdump -d. Both binaries were compiled using
gcc-4.0 on paer, one with -O1 and the other with -O2.

cheers,
Max
--- test.O1.disas	2005-09-12 11:23:31.000000000 +0000
+++ test.O2.disas	2005-09-12 11:23:24.000000000 +0000
@@ -118,41 +118,41 @@
 
 00010550 <main>:
    10550:	6b c2 3f d9 	stw rp,-14(,sp)
-   10554:	37 de 05 80 	ldo 2c0(sp),sp
-   10558:	34 13 00 00 	ldi 0,r19
-   1055c:	37 df 3a 91 	ldo -2b8(sp),r31
-   10560:	22 a0 62 46 	ldil 12341000,r21
-   10564:	36 b5 04 68 	ldo 234(r21),r21
-   10568:	22 c0 62 46 	ldil 12341000,r22
-   1056c:	36 d6 04 68 	ldo 234(r22),r22
+   10554:	34 13 00 00 	ldi 0,r19
+   10558:	37 de 05 80 	ldo 2c0(sp),sp
+   1055c:	22 a0 62 46 	ldil 12341000,r21
+   10560:	36 b5 04 68 	ldo 234(r21),r21
+   10564:	22 c0 62 46 	ldil 12341000,r22
+   10568:	36 d6 04 68 	ldo 234(r22),r22
+   1056c:	37 df 3a 91 	ldo -2b8(sp),r31
    10570:	34 14 05 00 	ldi 280,r20
    10574:	0b f3 0a 1c 	add,l r19,r31,ret0
-   10578:	0f 95 12 80 	stw r21,0(,ret0)
-   1057c:	0f 96 12 88 	stw r22,4(,ret0)
-   10580:	36 73 00 10 	ldo 8(r19),r19
+   10578:	36 73 00 10 	ldo 8(r19),r19
+   1057c:	0f 95 12 80 	stw r21,0(,ret0)
+   10580:	0f 96 12 88 	stw r22,4(,ret0)
    10584:	8a 74 3f dd 	cmpb,<> r20,r19,10578 <main+0x28>
    10588:	0b f3 0a 1c 	add,l r19,r31,ret0
-   1058c:	4b d7 3b 71 	ldw -248(,sp),r23
-   10590:	4b d8 3b 79 	ldw -244(,sp),r24
-   10594:	08 17 02 55 	copy r23,r21
-   10598:	d3 15 09 94 	shrpw r21,r24,19,r20
-   1059c:	d2 f8 09 93 	shrpw r24,r23,19,r19
-   105a0:	d2 f8 08 5d 	shrpw r24,r23,29,ret1
-   105a4:	d3 15 08 5c 	shrpw r21,r24,29,ret0
-   105a8:	0b 93 02 93 	xor r19,ret0,r19
-   105ac:	0b b4 02 94 	xor r20,ret1,r20
-   105b0:	d6 b5 0b 5a 	depw,z r21,5,6,r21
-   105b4:	d3 18 1b 26 	extrw,u r24,25,26,r24
-   105b8:	0b 15 02 58 	or r21,r24,r24
-   105bc:	d2 f7 1b 26 	extrw,u r23,25,26,r23
-   105c0:	23 48 10 00 	ldil 10800,r26
-   105c4:	37 5a 02 70 	ldo 138(r26),r26
-   105c8:	0a f3 02 97 	xor r19,r23,r23
-   105cc:	0b 14 02 98 	xor r20,r24,r24
+   1058c:	4b dc 3b 71 	ldw -248(,sp),ret0
+   10590:	4b dd 3b 79 	ldw -244(,sp),ret1
+   10594:	08 1c 02 56 	copy ret0,r22
+   10598:	d3 93 1b 26 	extrw,u ret0,25,26,r19
+   1059c:	d3 b6 09 98 	shrpw r22,ret1,19,r24
+   105a0:	d3 9d 09 97 	shrpw ret1,ret0,19,r23
+   105a4:	d3 b4 1b 26 	extrw,u ret1,25,26,r20
+   105a8:	d3 9d 08 5d 	shrpw ret1,ret0,29,ret1
+   105ac:	d6 b6 0b 5a 	depw,z r22,5,6,r21
+   105b0:	d3 b6 08 5c 	shrpw r22,ret1,29,ret0
+   105b4:	0a 95 02 54 	or r21,r20,r20
+   105b8:	0b 97 02 97 	xor r23,ret0,r23
+   105bc:	0b b8 02 98 	xor r24,ret1,r24
+   105c0:	34 19 00 20 	ldi 10,r25
+   105c4:	0a 77 02 97 	xor r23,r19,r23
+   105c8:	0a 98 02 98 	xor r24,r20,r24
+   105cc:	23 48 10 00 	ldil 10800,r26
    105d0:	e8 5f 1c b5 	b,l 10430 <_end_init+0x14>,rp
-   105d4:	34 19 00 20 	ldi 10,r25
-   105d8:	34 1c 00 00 	ldi 0,ret0
-   105dc:	4b c2 3a 59 	ldw -2d4(,sp),rp
+   105d4:	37 5a 02 70 	ldo 138(r26),r26
+   105d8:	4b c2 3a 59 	ldw -2d4(,sp),rp
+   105dc:	34 1c 00 00 	ldi 0,ret0
    105e0:	e8 40 c0 00 	bv r0(rp)
    105e4:	37 de 3a 81 	ldo -2c0(sp),sp
 

Reply to: