[LLVMbugs] [Bug 13831] New: llc fails to generate cortex-a9 code for following .ll file

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Thu Sep 13 04:15:48 PDT 2012


http://llvm.org/bugs/show_bug.cgi?id=13831

             Bug #: 13831
           Summary: llc fails to generate cortex-a9 code for following .ll
                    file
           Product: new-bugs
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: babslachem at gmail.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


Created attachment 9200
  --> http://llvm.org/bugs/attachment.cgi?id=9200
ll file to reproduce problem

When usin llc as follows:

llc -march=arm -mcpu=cortex-a9 vmax.ll -o vmax.s

I've got following internal error message:

LLVM ERROR: Cannot select: 0x16ae460: v4f32 = vselect 0x16b4700, 0x16af320,
0x16bb340 [ID=149]
  0x16b4700: v4i32 = bitcast 0x16b2170 [ID=147]
    0x16b2170: v4f32 = ARMISD::BUILD_VECTOR 0x16b1a70, 0x16b1c70, 0x16b1d70,
0x16b2070 [ID=145]
      0x16b1a70: f32 = bitcast 0x16b5300 [ID=143]
        0x16b5300: i32 = sra 0x16b5200, 0x16b6ab0 [ID=135]
          0x16b5200: i32 = shl 0x16b58a0, 0x16b6ab0 [ID=127]
            0x16b58a0: i32 = extract_vector_elt 0x16b6bb0, 0x16b1570 [ID=119]
              0x16b6bb0: v4i32 = any_extend 0x16bb740 [ID=111]
                0x16bb740: v4i16 = bitcast 0x16b8a80 [ID=109]
                  0x16b8a80: f64,ch = load 0x16b7b70, 0x16ae560,
0x16ae060<LD8[FixedStack0]> [ID=107]


              0x16b1570: i32 = Constant<0> [ID=9]
            0x16b6ab0: i32 = Constant<31> [ID=18]
          0x16b6ab0: i32 = Constant<31> [ID=18]
      0x16b1c70: f32 = bitcast 0x16b5400 [ID=142]
        0x16b5400: i32 = sra 0x16b59a0, 0x16b6ab0 [ID=134]
          0x16b59a0: i32 = shl 0x16b5aa0, 0x16b6ab0 [ID=126]
            0x16b5aa0: i32 = extract_vector_elt 0x16b6bb0, 0x16b1e70 [ID=118]
              0x16b6bb0: v4i32 = any_extend 0x16bb740 [ID=111]
                0x16bb740: v4i16 = bitcast 0x16b8a80 [ID=109]
                  0x16b8a80: f64,ch = load 0x16b7b70, 0x16ae560,
0x16ae060<LD8[FixedStack0]> [ID=107]


              0x16b1e70: i32 = Constant<1> [ID=12]
            0x16b6ab0: i32 = Constant<31> [ID=18]
          0x16b6ab0: i32 = Constant<31> [ID=18]
      0x16b1d70: f32 = bitcast 0x16b5100 [ID=141]
        0x16b5100: i32 = sra 0x16b5ba0, 0x16b6ab0 [ID=133]
          0x16b5ba0: i32 = shl 0x16b5ca0, 0x16b6ab0 [ID=125]
            0x16b5ca0: i32 = extract_vector_elt 0x16b6bb0, 0x16b2270 [ID=117]
              0x16b6bb0: v4i32 = any_extend 0x16bb740 [ID=111]
                0x16bb740: v4i16 = bitcast 0x16b8a80 [ID=109]
                  0x16b8a80: f64,ch = load 0x16b7b70, 0x16ae560,
0x16ae060<LD8[FixedStack0]> [ID=107]


              0x16b2270: i32 = Constant<2> [ID=14]
            0x16b6ab0: i32 = Constant<31> [ID=18]
          0x16b6ab0: i32 = Constant<31> [ID=18]
      0x16b2070: f32 = bitcast 0x16b6db0 [ID=140]
        0x16b6db0: i32 = sra 0x16b5da0, 0x16b6ab0 [ID=132]
          0x16b5da0: i32 = shl 0x16b5ea0, 0x16b6ab0 [ID=124]
            0x16b5ea0: i32 = extract_vector_elt 0x16b6bb0, 0x16b4900 [ID=116]
              0x16b6bb0: v4i32 = any_extend 0x16bb740 [ID=111]
                0x16bb740: v4i16 = bitcast 0x16b8a80 [ID=109]
                  0x16b8a80: f64,ch = load 0x16b7b70, 0x16ae560,
0x16ae060<LD8[FixedStack0]> [ID=107]


              0x16b4900: i32 = Constant<3> [ID=16]
            0x16b6ab0: i32 = Constant<31> [ID=18]
          0x16b6ab0: i32 = Constant<31> [ID=18]
  0x16af320: v4f32 = bitcast 0x16ba920 [ORD=1] [ID=49]
    0x16ba920: v2f64 = ARMISD::BUILD_VECTOR 0x16ade60, 0x16ae160 [ID=47]
      0x16ade60: f64 = ARMISD::VMOVDRR 0x16adb60, 0x16add60 [ORD=1] [ID=43]
        0x16adb60: i32,ch = CopyFromReg 0x167f860, 0x16ada60 [ORD=1] [ID=23]
          0x16ada60: i32 = Register %vreg1 [ORD=1] [ID=2]
        0x16add60: i32,ch = CopyFromReg 0x167f860, 0x16adc60 [ORD=1] [ID=24]
          0x16adc60: i32 = Register %vreg2 [ORD=1] [ID=3]
      0x16ae160: f64,ch = load 0x167f860, 0x16adf60,
0x16ae060<LD8[FixedStack-1](align=4)> [ORD=1] [ID=25]
        0x16adf60: i32 = FrameIndex<-1> [ORD=1] [ID=4]
        0x16ae060: i32 = undef [ORD=1] [ID=5]
  0x16bb340: v4f32 = bitcast 0x16af920 [ID=45]
    0x16af920: v2f64,ch = load 0x167f860, 0x16af620,
0x16ae060<LD16[FixedStack-3](align=4)> [ID=27]
      0x16af620: i32 = FrameIndex<-3> [ORD=1] [ID=7]
      0x16ae060: i32 = undef [ORD=1] [ID=5]
In function: foo
/home/deldon/tmp:llc -march=arm -mcpu=cortex-a9 vmax.ll -o vmax.s
LLVM ERROR: Cannot select: 0xb23460: v4f32 = vselect 0xb29700, 0xb24320,
0xb30340 [ID=149]
  0xb29700: v4i32 = bitcast 0xb27170 [ID=147]
    0xb27170: v4f32 = ARMISD::BUILD_VECTOR 0xb26a70, 0xb26c70, 0xb26d70,
0xb27070 [ID=145]
      0xb26a70: f32 = bitcast 0xb2a300 [ID=143]
        0xb2a300: i32 = sra 0xb2a200, 0xb2bab0 [ID=135]
          0xb2a200: i32 = shl 0xb2a8a0, 0xb2bab0 [ID=127]
            0xb2a8a0: i32 = extract_vector_elt 0xb2bbb0, 0xb26570 [ID=119]
              0xb2bbb0: v4i32 = any_extend 0xb30740 [ID=111]
                0xb30740: v4i16 = bitcast 0xb2da80 [ID=109]
                  0xb2da80: f64,ch = load 0xb2cb70, 0xb23560,
0xb23060<LD8[FixedStack0]> [ID=107]


              0xb26570: i32 = Constant<0> [ID=9]
            0xb2bab0: i32 = Constant<31> [ID=18]
          0xb2bab0: i32 = Constant<31> [ID=18]
      0xb26c70: f32 = bitcast 0xb2a400 [ID=142]
        0xb2a400: i32 = sra 0xb2a9a0, 0xb2bab0 [ID=134]
          0xb2a9a0: i32 = shl 0xb2aaa0, 0xb2bab0 [ID=126]
            0xb2aaa0: i32 = extract_vector_elt 0xb2bbb0, 0xb26e70 [ID=118]
              0xb2bbb0: v4i32 = any_extend 0xb30740 [ID=111]
                0xb30740: v4i16 = bitcast 0xb2da80 [ID=109]
                  0xb2da80: f64,ch = load 0xb2cb70, 0xb23560,
0xb23060<LD8[FixedStack0]> [ID=107]


              0xb26e70: i32 = Constant<1> [ID=12]
            0xb2bab0: i32 = Constant<31> [ID=18]
          0xb2bab0: i32 = Constant<31> [ID=18]
      0xb26d70: f32 = bitcast 0xb2a100 [ID=141]
        0xb2a100: i32 = sra 0xb2aba0, 0xb2bab0 [ID=133]
          0xb2aba0: i32 = shl 0xb2aca0, 0xb2bab0 [ID=125]
            0xb2aca0: i32 = extract_vector_elt 0xb2bbb0, 0xb27270 [ID=117]
              0xb2bbb0: v4i32 = any_extend 0xb30740 [ID=111]
                0xb30740: v4i16 = bitcast 0xb2da80 [ID=109]
                  0xb2da80: f64,ch = load 0xb2cb70, 0xb23560,
0xb23060<LD8[FixedStack0]> [ID=107]


              0xb27270: i32 = Constant<2> [ID=14]
            0xb2bab0: i32 = Constant<31> [ID=18]
          0xb2bab0: i32 = Constant<31> [ID=18]
      0xb27070: f32 = bitcast 0xb2bdb0 [ID=140]
        0xb2bdb0: i32 = sra 0xb2ada0, 0xb2bab0 [ID=132]
          0xb2ada0: i32 = shl 0xb2aea0, 0xb2bab0 [ID=124]
            0xb2aea0: i32 = extract_vector_elt 0xb2bbb0, 0xb29900 [ID=116]
              0xb2bbb0: v4i32 = any_extend 0xb30740 [ID=111]
                0xb30740: v4i16 = bitcast 0xb2da80 [ID=109]
                  0xb2da80: f64,ch = load 0xb2cb70, 0xb23560,
0xb23060<LD8[FixedStack0]> [ID=107]


              0xb29900: i32 = Constant<3> [ID=16]
            0xb2bab0: i32 = Constant<31> [ID=18]
          0xb2bab0: i32 = Constant<31> [ID=18]
  0xb24320: v4f32 = bitcast 0xb2f920 [ORD=1] [ID=49]
    0xb2f920: v2f64 = ARMISD::BUILD_VECTOR 0xb22e60, 0xb23160 [ID=47]
      0xb22e60: f64 = ARMISD::VMOVDRR 0xb22b60, 0xb22d60 [ORD=1] [ID=43]
        0xb22b60: i32,ch = CopyFromReg 0xaf4860, 0xb22a60 [ORD=1] [ID=23]
          0xb22a60: i32 = Register %vreg1 [ORD=1] [ID=2]
        0xb22d60: i32,ch = CopyFromReg 0xaf4860, 0xb22c60 [ORD=1] [ID=24]
          0xb22c60: i32 = Register %vreg2 [ORD=1] [ID=3]
      0xb23160: f64,ch = load 0xaf4860, 0xb22f60,
0xb23060<LD8[FixedStack-1](align=4)> [ORD=1] [ID=25]
        0xb22f60: i32 = FrameIndex<-1> [ORD=1] [ID=4]
        0xb23060: i32 = undef [ORD=1] [ID=5]
  0xb30340: v4f32 = bitcast 0xb24920 [ID=45]
    0xb24920: v2f64,ch = load 0xaf4860, 0xb24620,
0xb23060<LD16[FixedStack-3](align=4)> [ID=27]
      0xb24620: i32 = FrameIndex<-3> [ORD=1] [ID=7]
      0xb23060: i32 = undef [ORD=1] [ID=5]

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list