[Bug 1295738] Re: [4.8 Regression] unable to find a register to spill in class 'LO_REGS'

Bug Watch Updater 1295738 at bugs.launchpad.net
Fri Mar 21 18:16:32 UTC 2014


Launchpad has imported 1 comments from the remote bug at
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60617.

If you reply to an imported comment from within Launchpad, your comment
will be sent to the remote bug automatically. Read more about
Launchpad's inter-bugtracker facilities at
https://help.launchpad.net/InterBugTracking.

------------------------------------------------------------------------
On 2014-03-21T16:25:05+00:00 Doko-v wrote:

Created attachment 32424
preprocessed source

seen with the 4.8 branch on arm-linux-gnueabihf, configured with
--with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb 

omitting the -fno-tree-dce works around the issue.  not seen with the
4.7 branch and trunk 20140306.

$ g++ -std=c++11 -fPIC -fno-tree-dce -fno-exceptions -fno-omit-frame-pointer -c -g -O2 JITArithmetic32_64.ii
../Source/JavaScriptCore/jit/JITArithmetic32_64.cpp: In member function 'void JSC::JIT::emit_op_add(JSC::Instruction*)':
../Source/JavaScriptCore/jit/JITArithmetic32_64.cpp:526:1: error: unable to find a register to spill in class 'LO_REGS'
../Source/JavaScriptCore/jit/JITArithmetic32_64.cpp:526:1: error: this is the insn:
(insn 335 334 336 20 (parallel [
            (set (reg:SI 3 r3)
                (ior:SI (eq:SI (reg/v:SI 112 [ op ])
                        (reg/v:SI 110 [ dst ]))
                    (eq:SI (reg/v:SI 111 [ op ])
                        (reg/v:SI 110 [ dst ]))))
            (clobber (reg:CC 100 cc))
        ]) ../Source/JavaScriptCore/jit/JITArithmetic32_64.cpp:514 295 {*ior_scc_scc}
     (expr_list:REG_UNUSED (reg:CC 100 cc)
        (nil)))
../Source/JavaScriptCore/jit/JITArithmetic32_64.cpp:526: confused by earlier errors, bailing out
Preprocessed source stored into /tmp/ccb0Osgc.out file, please attach this to your bugreport.

Reply at: https://bugs.launchpad.net/gcc-linaro/+bug/1295738/comments/0


** Changed in: gcc
       Status: Unknown => New

** Changed in: gcc
   Importance: Unknown => Medium

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

Title:
  [4.8 Regression] unable to find a register to spill in class 'LO_REGS'

Status in The GNU Compiler Collection:
  New
Status in Linaro GCC:
  New
Status in “gcc-4.8” package in Ubuntu:
  New

Bug description:
  seen with the 4.8 branch on arm-linux-gnueabihf, configured with
  --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb 

  omitting the -fno-tree-dce works around the issue.  not seen with the
  4.7 branch and trunk 20140306.

  $ g++ -std=c++11 -fPIC -fno-tree-dce -fno-exceptions -fno-omit-frame-pointer -c -g -O2 JITArithmetic32_64.ii
  ../Source/JavaScriptCore/jit/JITArithmetic32_64.cpp: In member function 'void JSC::JIT::emit_op_add(JSC::Instruction*)':
  ../Source/JavaScriptCore/jit/JITArithmetic32_64.cpp:526:1: error: unable to find a register to spill in class 'LO_REGS'
  ../Source/JavaScriptCore/jit/JITArithmetic32_64.cpp:526:1: error: this is the insn:
  (insn 335 334 336 20 (parallel [
              (set (reg:SI 3 r3)
                  (ior:SI (eq:SI (reg/v:SI 112 [ op ])
                          (reg/v:SI 110 [ dst ]))
                      (eq:SI (reg/v:SI 111 [ op ])
                          (reg/v:SI 110 [ dst ]))))
              (clobber (reg:CC 100 cc))
          ]) ../Source/JavaScriptCore/jit/JITArithmetic32_64.cpp:514 295 {*ior_scc_scc}
       (expr_list:REG_UNUSED (reg:CC 100 cc)
          (nil)))
  ../Source/JavaScriptCore/jit/JITArithmetic32_64.cpp:526: confused by earlier errors, bailing out
  Preprocessed source stored into /tmp/ccb0Osgc.out file, please attach this to your bugreport.

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



More information about the foundations-bugs mailing list