Bug 16702 - [3.4 regression] ICE (segfault) when compiling qemu with -O on x86_64 with gcc 3.4
Summary: [3.4 regression] ICE (segfault) when compiling qemu with -O on x86_64 with gc...
Status: RESOLVED WONTFIX
Alias: None
Product: gcc
Classification: Unclassified
Component: rtl-optimization (show other bugs)
Version: 3.4.1
: P2 normal
Target Milestone: 3.4.6
Assignee: Not yet assigned to anyone
URL:
Keywords: ice-on-valid-code
: 21153 (view as bug list)
Depends on:
Blocks:
 
Reported: 2004-07-25 01:02 UTC by Gabriel Ebner
Modified: 2006-02-28 09:38 UTC (History)
3 users (show)

See Also:
Host:
Target: x86_64-pc-linux-gnu
Build:
Known to work: 3.3.6 4.0.0 4.0.1 4.1.0
Known to fail: 3.4.1 3.4.2 3.4.3 3.4.4
Last reconfirmed: 2004-11-06 03:13:46


Attachments
op.c (already preprocessed) (16.73 KB, text/x-csrc)
2004-07-25 01:05 UTC, Gabriel Ebner
Details
helper.c (already preprocessed) (15.32 KB, text/x-csrc)
2004-07-25 01:07 UTC, Gabriel Ebner
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Gabriel Ebner 2004-07-25 01:02:17 UTC
When I compile op.c with the following command on x86_64 I get a segfault:

gcc -O1 -c op.c 
In file included from /home/gebner/tmp/qemu/target-i386/op.c:28:
/home/gebner/tmp/qemu/target-i386/exec.h:312: warning: conflicting types for
built-in function 'lrintl'
/home/gebner/tmp/qemu/target-i386/op.c: In function `op_divw_AX_T0':
/home/gebner/tmp/qemu/target-i386/op.c:307: internal compiler error:
Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://bugs.gentoo.org/> for instructions.
Preprocessed source stored into /tmp/ccHiWGfS.out file, please attach this to
your bugreport.

The segfault happens with all of the -O? options, except -O0.  If I substitute
-O? with the options that are enabled by that according to the man page, gcc
doesn't segfault:

gcc -c op.c -fdefer-pop -fmerge-constants -fthread-jumps -floop-optimize
-fif-conversion -fif-conversion2 -fdelayed-branch -fguess-branch-probability
-fcprop-registers -fomit-frame-pointer
op.c:1: warning: this target machine does not have delayed branches
In file included from /home/gebner/tmp/qemu/target-i386/op.c:28:
/home/gebner/tmp/qemu/target-i386/exec.h:312: warning: conflicting types for
built-in function 'lrintl'
In file included from /home/gebner/tmp/qemu/target-i386/op.c:400:
/home/gebner/tmp/qemu/target-i386/ops_mem.h: In function `op_ldub_raw_T0_A0':
/home/gebner/tmp/qemu/target-i386/ops_mem.h:3: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/ops_mem.h: In function `op_ldsb_raw_T0_A0':
/home/gebner/tmp/qemu/target-i386/ops_mem.h:8: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/ops_mem.h: In function `op_lduw_raw_T0_A0':
/home/gebner/tmp/qemu/target-i386/ops_mem.h:13: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/ops_mem.h: In function `op_ldsw_raw_T0_A0':
/home/gebner/tmp/qemu/target-i386/ops_mem.h:18: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/ops_mem.h: In function `op_ldl_raw_T0_A0':
/home/gebner/tmp/qemu/target-i386/ops_mem.h:23: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/ops_mem.h: In function `op_ldub_raw_T1_A0':
/home/gebner/tmp/qemu/target-i386/ops_mem.h:28: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/ops_mem.h: In function `op_ldsb_raw_T1_A0':
/home/gebner/tmp/qemu/target-i386/ops_mem.h:33: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/ops_mem.h: In function `op_lduw_raw_T1_A0':
/home/gebner/tmp/qemu/target-i386/ops_mem.h:38: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/ops_mem.h: In function `op_ldsw_raw_T1_A0':
/home/gebner/tmp/qemu/target-i386/ops_mem.h:43: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/ops_mem.h: In function `op_ldl_raw_T1_A0':
/home/gebner/tmp/qemu/target-i386/ops_mem.h:48: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/ops_mem.h: In function `op_stb_raw_T0_A0':
/home/gebner/tmp/qemu/target-i386/ops_mem.h:53: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/ops_mem.h: In function `op_stw_raw_T0_A0':
/home/gebner/tmp/qemu/target-i386/ops_mem.h:58: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/ops_mem.h: In function `op_stl_raw_T0_A0':
/home/gebner/tmp/qemu/target-i386/ops_mem.h:63: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/ops_mem.h: In function `op_stw_raw_T1_A0':
/home/gebner/tmp/qemu/target-i386/ops_mem.h:75: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/ops_mem.h: In function `op_stl_raw_T1_A0':
/home/gebner/tmp/qemu/target-i386/ops_mem.h:80: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/op.c: In function `op_boundw':
/home/gebner/tmp/qemu/target-i386/op.c:513: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/op.c:514: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/op.c: In function `op_boundl':
/home/gebner/tmp/qemu/target-i386/op.c:526: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/op.c:527: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/op.c: In function `op_jmp':
/home/gebner/tmp/qemu/target-i386/op.c:543: warning: cast to pointer from
integer of different size
In file included from /home/gebner/tmp/qemu/target-i386/op.c:561:
/home/gebner/tmp/qemu/target-i386/ops_template.h: In function `op_jb_subb':
/home/gebner/tmp/qemu/target-i386/ops_template.h:264: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h:266: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h: In function `op_jz_subb':
/home/gebner/tmp/qemu/target-i386/ops_template.h:273: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h:275: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h: In function `op_jbe_subb':
/home/gebner/tmp/qemu/target-i386/ops_template.h:286: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h:288: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h: In function `op_js_subb':
/home/gebner/tmp/qemu/target-i386/ops_template.h:295: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h:297: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h: In function `op_jl_subb':
/home/gebner/tmp/qemu/target-i386/ops_template.h:308: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h:310: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h: In function `op_jle_subb':
/home/gebner/tmp/qemu/target-i386/ops_template.h:321: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h:323: warning: cast to pointer
from integer of different size
In file included from /home/gebner/tmp/qemu/target-i386/ops_template.h:462,
                 from /home/gebner/tmp/qemu/target-i386/op.c:561:
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_rolb_raw_T0_T1_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:74: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_rorb_raw_T0_T1_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:96: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_rolb_raw_T0_T1':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:117: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_rorb_raw_T0_T1':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:131: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_rclb_raw_T0_T1_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:157: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_rcrb_raw_T0_T1_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:187: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_shlb_raw_T0_T1_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:205: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_shrb_raw_T0_T1_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:223: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_sarb_raw_T0_T1_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:241: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_adcb_raw_T0_T1_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:417: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_sbbb_raw_T0_T1_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:430: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_cmpxchgb_raw_T0_T1_EAX_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:446: warning: cast to
pointer from integer of different size
In file included from /home/gebner/tmp/qemu/target-i386/op.c:561:
/home/gebner/tmp/qemu/target-i386/ops_template.h: In function `op_string_jz_subb':
/home/gebner/tmp/qemu/target-i386/ops_template.h:561: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h: In function `op_string_jnz_subb':
/home/gebner/tmp/qemu/target-i386/ops_template.h:568: warning: cast to pointer
from integer of different size
In file included from /home/gebner/tmp/qemu/target-i386/op.c:565:
/home/gebner/tmp/qemu/target-i386/ops_template.h: In function `op_jb_subw':
/home/gebner/tmp/qemu/target-i386/ops_template.h:264: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h:266: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h: In function `op_jz_subw':
/home/gebner/tmp/qemu/target-i386/ops_template.h:273: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h:275: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h: In function `op_jbe_subw':
/home/gebner/tmp/qemu/target-i386/ops_template.h:286: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h:288: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h: In function `op_js_subw':
/home/gebner/tmp/qemu/target-i386/ops_template.h:295: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h:297: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h: In function `op_jl_subw':
/home/gebner/tmp/qemu/target-i386/ops_template.h:308: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h:310: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h: In function `op_jle_subw':
/home/gebner/tmp/qemu/target-i386/ops_template.h:321: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h:323: warning: cast to pointer
from integer of different size
In file included from /home/gebner/tmp/qemu/target-i386/ops_template.h:462,
                 from /home/gebner/tmp/qemu/target-i386/op.c:565:
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_rolw_raw_T0_T1_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:74: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_rorw_raw_T0_T1_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:96: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_rolw_raw_T0_T1':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:117: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_rorw_raw_T0_T1':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:131: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_rclw_raw_T0_T1_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:157: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_rcrw_raw_T0_T1_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:187: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_shlw_raw_T0_T1_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:205: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_shrw_raw_T0_T1_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:223: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_sarw_raw_T0_T1_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:241: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_shldw_raw_T0_T1_im_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:265: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_shldw_raw_T0_T1_ECX_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:285: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_shrdw_raw_T0_T1_im_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:307: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_shrdw_raw_T0_T1_ECX_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:328: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_adcw_raw_T0_T1_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:417: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_sbbw_raw_T0_T1_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:430: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_cmpxchgw_raw_T0_T1_EAX_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:446: warning: cast to
pointer from integer of different size
In file included from /home/gebner/tmp/qemu/target-i386/op.c:565:
/home/gebner/tmp/qemu/target-i386/ops_template.h: In function `op_string_jz_subw':
/home/gebner/tmp/qemu/target-i386/ops_template.h:561: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h: In function `op_string_jnz_subw':
/home/gebner/tmp/qemu/target-i386/ops_template.h:568: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h: In function `op_jz_ecxw':
/home/gebner/tmp/qemu/target-i386/ops_template.h:602: warning: cast to pointer
from integer of different size
In file included from /home/gebner/tmp/qemu/target-i386/op.c:569:
/home/gebner/tmp/qemu/target-i386/ops_template.h: In function `op_jb_subl':
/home/gebner/tmp/qemu/target-i386/ops_template.h:264: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h:266: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h: In function `op_jz_subl':
/home/gebner/tmp/qemu/target-i386/ops_template.h:273: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h:275: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h: In function `op_jbe_subl':
/home/gebner/tmp/qemu/target-i386/ops_template.h:286: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h:288: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h: In function `op_js_subl':
/home/gebner/tmp/qemu/target-i386/ops_template.h:295: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h:297: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h: In function `op_jl_subl':
/home/gebner/tmp/qemu/target-i386/ops_template.h:308: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h:310: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h: In function `op_jle_subl':
/home/gebner/tmp/qemu/target-i386/ops_template.h:321: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h:323: warning: cast to pointer
from integer of different size
In file included from /home/gebner/tmp/qemu/target-i386/ops_template.h:462,
                 from /home/gebner/tmp/qemu/target-i386/op.c:569:
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_roll_raw_T0_T1_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:74: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_rorl_raw_T0_T1_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:96: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_roll_raw_T0_T1':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:117: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_rorl_raw_T0_T1':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:131: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_rcll_raw_T0_T1_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:157: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_rcrl_raw_T0_T1_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:187: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_shll_raw_T0_T1_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:205: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_shrl_raw_T0_T1_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:223: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_sarl_raw_T0_T1_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:241: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_shldl_raw_T0_T1_im_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:348: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_shldl_raw_T0_T1_ECX_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:364: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_shrdl_raw_T0_T1_im_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:382: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_shrdl_raw_T0_T1_ECX_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:399: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_adcl_raw_T0_T1_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:417: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_sbbl_raw_T0_T1_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:430: warning: cast to
pointer from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h: In function
`op_cmpxchgl_raw_T0_T1_EAX_cc':
/home/gebner/tmp/qemu/target-i386/ops_template_mem.h:446: warning: cast to
pointer from integer of different size
In file included from /home/gebner/tmp/qemu/target-i386/op.c:569:
/home/gebner/tmp/qemu/target-i386/ops_template.h: In function `op_string_jz_subl':
/home/gebner/tmp/qemu/target-i386/ops_template.h:561: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h: In function `op_string_jnz_subl':
/home/gebner/tmp/qemu/target-i386/ops_template.h:568: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/ops_template.h: In function `op_jz_ecxl':
/home/gebner/tmp/qemu/target-i386/ops_template.h:602: warning: cast to pointer
from integer of different size
/home/gebner/tmp/qemu/target-i386/op.c: In function `op_movl_seg_T0_vm':
/home/gebner/tmp/qemu/target-i386/op.c:861: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/op.c: In function `op_jcc':
/home/gebner/tmp/qemu/target-i386/op.c:1012: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/op.c:1014: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/op.c: In function `op_flds_FT0_A0':
/home/gebner/tmp/qemu/target-i386/op.c:1325: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/op.c: In function `op_fldl_FT0_A0':
/home/gebner/tmp/qemu/target-i386/op.c:1335: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/op.c: In function `op_fild_FT0_A0':
/home/gebner/tmp/qemu/target-i386/op.c:1380: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/op.c: In function `op_fildl_FT0_A0':
/home/gebner/tmp/qemu/target-i386/op.c:1390: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/op.c: In function `op_fildll_FT0_A0':
/home/gebner/tmp/qemu/target-i386/op.c:1400: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/op.c: In function `op_flds_ST0_A0':
/home/gebner/tmp/qemu/target-i386/op.c:1415: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/op.c: In function `op_fldl_ST0_A0':
/home/gebner/tmp/qemu/target-i386/op.c:1429: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/op.c: In function `op_fild_ST0_A0':
/home/gebner/tmp/qemu/target-i386/op.c:1495: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/op.c: In function `op_fildl_ST0_A0':
/home/gebner/tmp/qemu/target-i386/op.c:1509: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/op.c: In function `op_fildll_ST0_A0':
/home/gebner/tmp/qemu/target-i386/op.c:1523: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/op.c: In function `op_fsts_ST0_A0':
/home/gebner/tmp/qemu/target-i386/op.c:1539: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/op.c: In function `op_fstl_ST0_A0':
/home/gebner/tmp/qemu/target-i386/op.c:1545: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/op.c: In function `op_fist_ST0_A0':
/home/gebner/tmp/qemu/target-i386/op.c:1566: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/op.c: In function `op_fistl_ST0_A0':
/home/gebner/tmp/qemu/target-i386/op.c:1580: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/op.c: In function `op_fistll_ST0_A0':
/home/gebner/tmp/qemu/target-i386/op.c:1594: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/op.c: In function `op_fnstsw_A0':
/home/gebner/tmp/qemu/target-i386/op.c:1921: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/op.c: In function `op_fnstcw_A0':
/home/gebner/tmp/qemu/target-i386/op.c:1933: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/op.c: In function `op_fldcw_A0':
/home/gebner/tmp/qemu/target-i386/op.c:1939: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/op.c: In function `op_fnstenv_A0':
/home/gebner/tmp/qemu/target-i386/op.c:2007: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/op.c: In function `op_fldenv_A0':
/home/gebner/tmp/qemu/target-i386/op.c:2012: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/op.c: In function `op_fnsave_A0':
/home/gebner/tmp/qemu/target-i386/op.c:2017: warning: cast to pointer from
integer of different size
/home/gebner/tmp/qemu/target-i386/op.c: In function `op_frstor_A0':
/home/gebner/tmp/qemu/target-i386/op.c:2022: warning: cast to pointer from
integer of different size
Comment 1 Gabriel Ebner 2004-07-25 01:05:16 UTC
Created attachment 6822 [details]
op.c (already preprocessed)
Comment 2 Gabriel Ebner 2004-07-25 01:07:23 UTC
Created attachment 6823 [details]
helper.c (already preprocessed)

Gives errors like op.c (segfault with -O?, no segfault with substitutions)
Comment 3 Serge Belyshev 2004-08-05 16:43:57 UTC
small testcase, use "-O1":
------------------------------------------------------------------------------
register unsigned int EAX asm ("r14");

void foo (unsigned int num)
{
  EAX = (EAX & 0xffff0000) | (num & 0xffff);
}
------------------------------------------------------------------------------

Program received signal SIGSEGV, Segmentation fault.
reg_bitfield_target_p (x=0xb7aeb840, body=0xb7b4cf18) at
../../gcc/gcc/combine.c:12342
12342         if (GET_CODE (target) == SUBREG)
(gdb) where
#0  reg_bitfield_target_p (x=0xb7aeb840, body=0xb7b4cf18) at
../../gcc/gcc/combine.c:12342
#1  0x08395b0e in distribute_notes (notes=0xb7b4cbdc, from_insn=0xb7ba8230,
i3=0xb7ba8280, 
    i2=0x0) at ../../gcc/gcc/combine.c:12815
#2  0x0838037f in try_combine (i3=0xb7ba8280, i2=0xb7ba8230, i1=0x0, 
    new_direct_jump_p=0xbfffede4) at ../../gcc/gcc/combine.c:2632
#3  0x0837cb34 in combine_instructions (f=0xb7b93420, nregs=62) at
../../gcc/gcc/combine.c:633
#4  0x08317055 in rest_of_handle_combine (decl=0xb7aeb8b0, insns=0xb7b93420)
    at ../../gcc/gcc/toplev.c:2798
#5  0x08317f2f in rest_of_compilation (decl=0xb7af4cb0) at
../../gcc/gcc/toplev.c:3377
#6  0x0836b6e4 in tree_rest_of_compilation (fndecl=0xb7af4cb0, nested_p=false)
    at ../../gcc/gcc/tree-optimize.c:168
#7  0x0806b559 in c_expand_body_1 (fndecl=0xb7af4cb0, nested_p=0)
    at ../../gcc/gcc/c-decl.c:6158
#8  0x0806b74d in c_expand_body (fndecl=0xb7af4cb0) at ../../gcc/gcc/c-decl.c:6190
#9  0x0836dbaf in cgraph_expand_function (node=0xb7af4e0c) at
../../gcc/gcc/cgraphunit.c:538
#10 0x0836cfb3 in cgraph_assemble_pending_functions () at
../../gcc/gcc/cgraphunit.c:144
#11 0x0836d0d4 in cgraph_finalize_function (decl=0xb7af4cb0, nested=false)
    at ../../gcc/gcc/cgraphunit.c:225
#12 0x0806b441 in finish_function () at ../../gcc/gcc/c-decl.c:6115
#13 0x0804a806 in yyparse () at c-parse.y:385
#14 0x08052870 in c_parse_file () at c-parse.y:3029
#15 0x0809d38a in c_common_parse_file (set_yydebug=-1213286224) at
../../gcc/gcc/c-opts.c:1237
#16 0x08315452 in compile_file () at ../../gcc/gcc/toplev.c:1822
#17 0x08319bbe in do_compile () at ../../gcc/gcc/toplev.c:4651
#18 0x08319c53 in toplev_main (argc=3081681072, argv=0xbffff914) at
../../gcc/gcc/toplev.c:4691
#19 0x080bc83c in main (argc=-1213286224, argv=0xb7aeb8b0) at
../../gcc/gcc/main.c:35

Confirmed.
Comment 4 Serge Belyshev 2005-04-29 10:50:27 UTC
*** Bug 21153 has been marked as a duplicate of this bug. ***
Comment 5 Giovanni Bajo 2005-04-29 16:01:28 UTC
Is this a regression?
Comment 6 Serge Belyshev 2005-04-29 21:44:55 UTC
(In reply to comment #5)
> Is this a regression?

Yes.
Comment 7 Gabriel Dos Reis 2005-11-21 02:14:16 UTC
Postponed untill GCC 3.4.6
(this bug has been there for more than a year and there does not seem to be
excitment about it)
Comment 8 Gabriel Dos Reis 2006-02-28 09:38:27 UTC
won't fix for 3.4.6.