diff options
author | Andrew Pinski <pinskia@physics.uc.edu> | 2006-01-19 17:28:53 +0000 |
---|---|---|
committer | Andrew Pinski <pinskia@gcc.gnu.org> | 2006-01-19 09:28:53 -0800 |
commit | 9795d9fd7a80977d03a81e17f5d980e3b69f84d1 (patch) | |
tree | ca58899a94a30f5cc62c55b57d05a6c4a524b39a | |
parent | bf73f6d2a0b897f8d38687a909517a5b6d3e61e0 (diff) | |
download | gcc-9795d9fd7a80977d03a81e17f5d980e3b69f84d1.zip gcc-9795d9fd7a80977d03a81e17f5d980e3b69f84d1.tar.gz gcc-9795d9fd7a80977d03a81e17f5d980e3b69f84d1.tar.bz2 |
re PR target/22099 (builtin_setjmp gives duplicate labels)
2006-01-19 Andrew Pinski <pinskia@physics.uc.edu>
PR target/22099
* config/i386/i386.md (builtin_setjmp_receiver): Don't emit the label.
* config/i386/i386.c (output_set_got): Output the label if we have one
for the TARGET_DEEP_BRANCH_PREDICTION case.
From-SVN: r109974
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 3 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 1 |
3 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index dfd0290..927251a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2006-01-19 Andrew Pinski <pinskia@physics.uc.edu> + + PR target/22099 + * config/i386/i386.md (builtin_setjmp_receiver): Don't emit the label. + * config/i386/i386.c (output_set_got): Output the label if we have one + for the TARGET_DEEP_BRANCH_PREDICTION case. + 2006-01-19 Jan Hubicka <jh@suse.cz> H.J. Lu <hongjiu.lu@intel.com> Evandro Menezes <evandro.menezes@amd.com> diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 107545e..0b5277b 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -4752,6 +4752,9 @@ output_set_got (rtx dest, rtx label ATTRIBUTE_UNUSED) #if TARGET_MACHO if (!label) ASM_OUTPUT_LABEL (asm_out_file, machopic_function_base_name ()); + else + targetm.asm_out.internal_label (asm_out_file, "L", + CODE_LABEL_NUMBER (label)); #endif } diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 40fc244..0b1d153 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -18987,7 +18987,6 @@ rtx picreg = gen_rtx_REG (Pmode, PIC_OFFSET_TABLE_REGNUM); rtx label_rtx = gen_label_rtx (); emit_insn (gen_set_got_labelled (pic_offset_table_rtx, label_rtx)); - emit_label (label_rtx); xops[0] = xops[1] = picreg; xops[2] = gen_rtx_CONST (SImode, gen_rtx_MINUS (SImode, |