[Bug 730840] Re: [armel, avmv6] wrong assembler with -O[13s], not -O2

Mans Rullgard mans.rullgard at linaro.org
Tue Oct 23 13:59:13 UTC 2012


The problem is indeed inline asm which is invalid for Thumb-1.

This code comes from JamVM, and the inline asm performs a syscall to
invalidate the I-cache after generating some code. It would be better
off using the gcc __builtin__clear_cache() function for this, or least
changing the code to let gcc generate the constants.

** Changed in: gcc-linaro
       Status: Incomplete => Invalid

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to gcc-4.4 in Ubuntu.
https://bugs.launchpad.net/bugs/730840

Title:
  [armel, avmv6] wrong assembler with -O[13s], not -O2

Status in Linaro GCC:
  Invalid
Status in “gcc-4.4” package in Ubuntu:
  New
Status in “gcc-4.5” package in Ubuntu:
  New

Bug description:
  Binary package hint: gcc-4.4

  maverick:

  $ gcc-4.4 -c -march=armv6 -Os inlining.i
  inlining.c: In function 'rewriteLock':
  inlining.c:850: error: insn does not satisfy its constraints:
  (insn 62 20 21 3 inlining.c:846 (set (reg:SI 3 r3)
          (reg/f:SI 13 sp)) 174 {*thumb1_movsi_insn_osize} (nil))
  inlining.c:850: internal compiler error: in reload_cse_simplify_operands, at postreload.c:397
  Please submit a full bug report,
  with preprocessed source if appropriate.
  See <file:///usr/share/doc/gcc-4.4/README.Bugs> for instructions.

  natty, with both gcc-4.4 and gcc-4.5:
  $ gcc-4.5 -c -march=armv6 -Os inlining.i
  /tmp/ccl1qfKd.s: Assembler messages:
  /tmp/ccl1qfKd.s:794: Error: invalid immediate: 983040 is out of range
  /tmp/ccl1qfKd.s:794: Error: value of 983040 too large for field of 2 bytes at 1310
  /tmp/ccl1qfKd.s:1088: Error: invalid immediate: 983040 is out of range
  /tmp/ccl1qfKd.s:1088: Error: value of 983040 too large for field of 2 bytes at 1800

  works with -O2, fails with -O1, -Os, -O3.

To manage notifications about this bug go to:
https://bugs.launchpad.net/gcc-linaro/+bug/730840/+subscriptions




More information about the foundations-bugs mailing list