<html>
    <head>
      <base href="http://llvm.org/bugs/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - [mips] isel crash"
   href="http://llvm.org/bugs/show_bug.cgi?id=21486">21486</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[mips] isel crash
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>new-bugs
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Windows NT
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>new bugs
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>tima0900@gmail.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvmbugs@cs.uiuc.edu
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=13292" name="attach_13292" title="c source file">attachment 13292</a> <a href="attachment.cgi?id=13292&action=edit" title="c source file">[details]</a></span>
c source file

Hi,
we have a c-file that crashes with clang.
Tried with the 3.5 release as well as with a fairly new clang(trunk about 1.5
months old).
It crashes during instruction selection. The input is attached.
The output of clang:
C:\Program Files\LLVM\bin>clang -c -EL -G 0 -O2 -mips1 -fsigned-char -target
mips-unknown-unknown -D__MIPSEL -DNDEBUG -w -S -I"D:\D7FBGen\include"
-I"D:\D7FBGen\sde\include"
"E:\REC_BEO_BR_39\GeneratedFiles\TDC-FM\BEO39_body.c" -o
"E:\REC_BEO_BR_39\GeneratedFiles\TDC-FM\BEO39_body.s" -v
clang version 3.5.0 (217039)
Target: mipsel-unknown-unknown
Thread model: posix
 "C:\Program Files\LLVM\bin\clang.exe" -cc1 -triple mipsel-unknown-unknown -S
-disable-free -main-file-name BEO39_body.c -mrelocation-model static
-mdisable-fp-elim -fmath-errno -no-integrated-as -mconstructor-aliases
-target-cpu mips1 -target-feature -n64 -target-feature +o32 -target-abi o32
-mfloat-abi hard -mllvm -mips-ssection-threshold=0 -v -dwarf-column-info
-coverage-file "E:\\REC_BEO_BR_39\\GeneratedFiles\\TDC-FM\\BEO39_body.s"
-resource-dir "C:\\Program Files\\LLVM\\bin\\..\\lib\\clang\\3.5.0" -D __MIPSEL
-D NDEBUG -I "D:\\D7FBGen\\include" -I "D:\\D7FBGen\\sde\\include" -O2 -w
-fno-dwarf-directory-asm -fdebug-compilation-dir "C:\\Program Files\\LLVM\\bin"
-ferror-limit 19 -fmessage-length 9999 -mstackrealign -fobjc-runtime=gcc
-fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops -vectorize-slp
-o "E:\\REC_BEO_BR_39\\GeneratedFiles\\TDC-FM\\BEO39_body.s" -x c
"E:\\REC_BEO_BR_39\\GeneratedFiles\\TDC-FM\\BEO39_body.c"
clang -cc1 version 3.5.0 based upon LLVM 3.5.0 default target
i686-pc-windows-gnu
ignoring nonexistent directory "/usr/local/include"
ignoring nonexistent directory "/usr/include"
#include "..." search starts here:
#include <...> search starts here:
 D:\D7FBGen\include
 D:\D7FBGen\sde\include
 C:\Program Files\LLVM\bin\..\lib\clang\3.5.0\include
End of search list.
fatal error: error in backend: Cannot select: 0x4cce258: f64 = select
0x4ccda80, 0x4ccdf90, 0x4ccd330 [ORD=18] [ID=57]
  0x4ccda80: i32 = or 0x4ccd4e0, 0x4ccc2e0 [ORD=16] [ID=56]
    0x4ccd4e0: i32 = MipsISD::CMovFP_T 0x4ccdb10, 0x4ccd960, 0x4ccc0a0,
0x4ccd9f0 [ORD=14] [ID=55]
      0x4ccdb10: i32 = Constant<1> [ID=17]
      0x4ccd960: i32 = Register %FCC0 [ID=18]
      0x4ccc0a0: i32 = Constant<0> [ID=19]
      0x4ccd9f0: glue = MipsISD::FPCmp 0x4cccf40, 0x4cccd90, 0x4ccc640 [ORD=14]
[ID=52]
        0x4cccf40: f32,ch = load 0x4ccdc30, 0x4ccce20,
0x4ccdd50<LD4[%field11](tbaa=<badref>)> [ORD=12] [ID=50]
          0x4ccce20: i32 = add 0x4ccca30, 0x4ccde70 [ORD=11] [ID=33]
            0x4ccca30: i32,ch = CopyFromReg 0x48fb6c0, 0x4ccc910 [ORD=2]
[ID=24]
              0x4ccc910: i32 = Register %vreg357 [ID=1]
            0x4ccde70: i32 = Constant<28> [ID=5]
          0x4ccdd50: i32 = undef [ID=3]
        0x4cccd90: f32,ch = load 0x48fb6c0, 0x4ccbe68,
0x4ccdd50<LD4[ConstantPool]> [ID=38]
          0x4ccbe68: i32 = add 0x4ccc5b0, 0x4ccc760 [ID=35]
            0x4ccc5b0: i32 = MipsISD::Hi 0x4ccc520 [ID=25]
              0x4ccc520: i32 = TargetConstantPool<float 0x3E112E0BE0000000> 0
[TF=5] [ID=20]
            0x4ccc760: i32 = MipsISD::Lo 0x4ccd7b0 [ID=26]
              0x4ccd7b0: i32 = TargetConstantPool<float 0x3E112E0BE0000000> 0
[TF=6] [ID=21]
          0x4ccdd50: i32 = undef [ID=3]
        0x4ccc640: i32 = Constant<4> [ID=16]
    0x4ccc2e0: i32 = MipsISD::CMovFP_T 0x4ccdb10, 0x4ccd960, 0x4ccc0a0,
0x4ccc250 [ORD=15] [ID=54]
      0x4ccdb10: i32 = Constant<1> [ID=17]
      0x4ccd960: i32 = Register %FCC0 [ID=18]
      0x4ccc0a0: i32 = Constant<0> [ID=19]
      0x4ccc250: glue = MipsISD::FPCmp 0x4cccf40, 0x4cccf40, 0x4ccdb10 [ORD=15]
[ID=51]
        0x4cccf40: f32,ch = load 0x4ccdc30, 0x4ccce20,
0x4ccdd50<LD4[%field11](tbaa=<badref>)> [ORD=12] [ID=50]
          0x4ccce20: i32 = add 0x4ccca30, 0x4ccde70 [ORD=11] [ID=33]
            0x4ccca30: i32,ch = CopyFromReg 0x48fb6c0, 0x4ccc910 [ORD=2]
[ID=24]
              0x4ccc910: i32 = Register %vreg357 [ID=1]
            0x4ccde70: i32 = Constant<28> [ID=5]
          0x4ccdd50: i32 = undef [ID=3]
        0x4cccf40: f32,ch = load 0x4ccdc30, 0x4ccce20,
0x4ccdd50<LD4[%field11](tbaa=<badref>)> [ORD=12] [ID=50]
          0x4ccce20: i32 = add 0x4ccca30, 0x4ccde70 [ORD=11] [ID=33]
            0x4ccca30: i32,ch = CopyFromReg 0x48fb6c0, 0x4ccc910 [ORD=2]
[ID=24]
              0x4ccc910: i32 = Register %vreg357 [ID=1]
            0x4ccde70: i32 = Constant<28> [ID=5]
          0x4ccdd50: i32 = undef [ID=3]
        0x4ccdb10: i32 = Constant<1> [ID=17]
  0x4ccdf90: f64,ch = load 0x48fb6c0, 0x4ccba78, 0x4ccdd50<LD8[ConstantPool]>
[ID=39]
    0x4ccba78: i32 = add 0x4ccbb08, 0x4ccd8d0 [ID=36]
      0x4ccbb08: i32 = MipsISD::Hi 0x4ccceb0 [ID=27]
        0x4ccceb0: i32 = TargetConstantPool<double 1.000000e-09> 0 [TF=5]
[ID=22]
      0x4ccd8d0: i32 = MipsISD::Lo 0x4ccc400 [ID=28]
        0x4ccc400: i32 = TargetConstantPool<double 1.000000e-09> 0 [TF=6]
[ID=23]
    0x4ccdd50: i32 = undef [ID=3]
  0x4ccd330: f64 = fp_extend 0x4cccf40 [ORD=13] [ID=53]
    0x4cccf40: f32,ch = load 0x4ccdc30, 0x4ccce20,
0x4ccdd50<LD4[%field11](tbaa=<badref>)> [ORD=12] [ID=50]
      0x4ccce20: i32 = add 0x4ccca30, 0x4ccde70 [ORD=11] [ID=33]
        0x4ccca30: i32,ch = CopyFromReg 0x48fb6c0, 0x4ccc910 [ORD=2] [ID=24]
          0x4ccc910: i32 = Register %vreg357 [ID=1]
        0x4ccde70: i32 = Constant<28> [ID=5]
      0x4ccdd50: i32 = undef [ID=3]
In function: _ZN18REC_BEO_BR_39_User4stepEv
Stack dump:
0.      Program arguments: C:\Program Files\LLVM\bin\clang.exe -cc1 -triple
mipsel-unknown-unknown -S -disable-free -main-file-name BEO39_body.c
-mrelocation-model static -mdisable-fp-elim -fmath-errno -no-integrated-as
-mconstructor-aliases -target-cpu mips1 -target-feature -n64 -target-feature
+o32 -target-abi o32 -mfloat-abi hard -mllvm -mips-ssection-threshold=0 -v
-dwarf-column-info -coverage-file
E:\REC_BEO_BR_39\GeneratedFiles\TDC-FM\BEO39_body.s -resource-dir C:\Program
Files\LLVM\bin\..\lib\clang\3.5.0 -D __MIPSEL -D NDEBUG -I D:\D7FBGen\include
-I D:\D7FBGen\sde\include -O2 -w -fno-dwarf-directory-asm
-fdebug-compilation-dir C:\Program Files\LLVM\bin -ferror-limit 19
-fmessage-length 9999 -mstackrealign -fobjc-runtime=gcc
-fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops -vectorize-slp
-o E:\REC_BEO_BR_39\GeneratedFiles\TDC-FM\BEO39_body.s -x c
E:\REC_BEO_BR_39\GeneratedFiles\TDC-FM\BEO39_body.c
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module
'E:\REC_BEO_BR_39\GeneratedFiles\TDC-FM\BEO39_body.c'.
4.      Running pass 'MIPS DAG->DAG Pattern Instruction Selection' on function
'@_ZN18REC_BEO_BR_39_User4stepEv'
clang.exe: error: clang frontend command failed with exit code 70 (use -v to
see invocation)
clang version 3.5.0 (217039)
Target: mipsel-unknown-unknown
Thread model: posix
clang.exe: note: diagnostic msg: PLEASE submit a bug report to
<a href="http://llvm.org/bugs/">http://llvm.org/bugs/</a> and include the crash backtrace, preprocessed source, and
associated run script.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>