Hi,

first of all, sorry for the delay. We quickly entered stage 4 and I thought
it was best waiting for stage 1 to update you on this.

> From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches-
> ow...@gcc.gnu.org] On Behalf Of Thomas Preud'homme
> 
> Of course both approaches are not exclusive. I'll try to test with *both*
> rs6000 bootstrap and with a cross-compiler for one of these targets.

I did two experiments where I checked the impact of removing the code
guarded by SHORT_IMMEDIATES_SIGN_EXTEND. In the first one I removed
the code in both rtlanal.c and combine.c. In the second, I only removed the
code from combine.c (in both occurences). In both cases powerpc
bootstrap succeeded.

I then proceeded to use these 2 produced compilers to compile the same
gcc source (actually the source from removing all code guarded by the
macro). I compared the output of objdump on the resulting g++ and
found that in both case the output was different from the one without
any modification. Both diffs look like:

Disassembly of section .init:
@@ -1359,7 +1359,7 @@ Disassembly of section .text:
     10003a94:  f8 21 ff 81     stdu    r1,-128(r1)
     10003a98:  eb e4 00 00     ld      r31,0(r4)
     10003a9c:  3c 82 ff f8     addis   r4,r2,-8
-    10003aa0:  38 84 d7 60     addi    r4,r4,-10400
+    10003aa0:  38 84 d7 70     addi    r4,r4,-10384
     10003aa4:  7f e3 fb 78     mr      r3,r31
     10003aa8:  4b ff f0 d9     bl      10002b80 
<0000003d.plt_call.strcmp@@GLIBC_2.3+0>
     10003aac:  e8 41 00 28     ld      r2,40(r1)
@@ -1371,7 +1371,7 @@ Disassembly of section .text:
     10003ac4:  79 2a ff e3     rldicl. r10,r9,63,63
     10003ac8:  41 82 00 78     beq-    10003b40 
<._ZL22sanitize_spec_functioniPPKc+0xc0>
     10003acc:  3c 62 ff f8     addis   r3,r2,-8
-    10003ad0:  38 63 f5 70     addi    r3,r3,-2704
+    10003ad0:  38 63 f5 b0     addi    r3,r3,-2640
     10003ad4:  38 21 00 80     addi    r1,r1,128
     10003ad8:  e8 01 00 10     ld      r0,16(r1)
     10003adc:  eb e1 ff f8     ld      r31,-8(r1)

(this one is when comparing g++ compiled by GCC with partial removal of
the code guarded by the macro compared to compiled without GCC
being modified.

I may have done a mistake when doing the experiment though and can
do it again if you wish.

Best regards,

Thomas


Reply via email to