Bug ID | 994985 |
---|---|
Summary | gcc: using -ffixed-reg may lead to 'internal compiler error:' |
Classification | openSUSE |
Product | openSUSE Distribution |
Version | Leap 42.1 |
Hardware | Other |
OS | Other |
Status | NEW |
Severity | Normal |
Priority | P5 - None |
Component | Development |
Assignee | bnc-team-screening@forge.provo.novell.com |
Reporter | mgalbraith@suse.com |
QA Contact | qa-bugs@suse.de |
Found By | --- |
Blocker | --- |
Building kernels with frame pointers results in performance loss of roughly 10%, and it was suggested that I try -ffixed-reg to see if loss tracks the cost of losing a register. Doing so for rbp led to the gripe below. To reproduce, simply compile any kernel source tree with a config having CONFIG_FRAME_POINTER disabled, and add -ffixed-rbp to CFLAGS. crypto/cbc.c: In function 'crypto_cbc_decrypt': crypto/cbc.c:191:1: internal compiler error: in dwarf2out_frame_debug_expr, at dwarf2cfi.c:1520 This was gcc-4.8.5, but 6.1.1 does the very same. Additionally, starting with -ffixed-r8, and progressively stealing more registers, when I stole r8-r11, gcc became upset in a different way. drivers/isdn/hisax/tei.c: In function 'tei_id_denied': drivers/isdn/hisax/tei.c:208:1: internal compiler error: in assign_by_spills, at lra-assigns.c:1281