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.
Created attachment 32424
preprocessed source
seen with the 4.8 branch on arm-linux- gnueabihf, configured with fpu=vfpv3- d16 --with-float=hard --with-mode=thumb
--with-arch=armv7-a --with-
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 JavaScriptCore/ jit/JITArithmet ic32_64. cpp: In member function 'void JSC::JIT: :emit_op_ add(JSC: :Instruction* )': JavaScriptCore/ jit/JITArithmet ic32_64. cpp:526: 1: error: unable to find a register to spill in class 'LO_REGS' JavaScriptCore/ jit/JITArithmet ic32_64. cpp:526: 1: error: this is the insn:
(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)) JavaScriptCore/ jit/JITArithmet ic32_64. cpp:514 295 {*ior_scc_scc} list:REG_ UNUSED (reg:CC 100 cc) JavaScriptCore/ jit/JITArithmet ic32_64. cpp:526: confused by earlier errors, bailing out
../Source/
../Source/
../Source/
(insn 335 334 336 20 (parallel [
(set (reg:SI 3 r3)
]) ../Source/
(expr_
(nil)))
../Source/
Preprocessed source stored into /tmp/ccb0Osgc.out file, please attach this to your bugreport.