Bug 104902 - unpackHalf2x16 causes LLVM Error on GCN 1.2+ cards (and possibly others)
Summary: unpackHalf2x16 causes LLVM Error on GCN 1.2+ cards (and possibly others)
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Gallium/radeonsi (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Default DRI bug account
QA Contact: Default DRI bug account
URL:
Whiteboard:
Keywords:
: 104374 (view as bug list)
Depends on:
Blocks:
 
Reported: 2018-02-01 12:17 UTC by João Henrique
Modified: 2018-02-02 15:14 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description João Henrique 2018-02-01 12:17:01 UTC
Included in this bug report is code to reproduce the crash without the actual application and the necessary data.

https://gist.github.com/JohnnyonFlame/d5e0daf640b3ebd3c02f6e0327d53b55

Crash log:
LLVM ERROR: Cannot select: 0x7f12680b09d8: f16 = bitcast 0x7f12680a83b8
  0x7f12680a83b8: i32 = srl 0x7f12680a82e8, Constant:i32<16>
    0x7f12680a82e8: i32 = bswap 0x7f12680b08a0
      0x7f12680b08a0: i32 = and 0x7f12680b01b8, Constant:i32<65535>
        0x7f12680b01b8: i32 = extract_vector_elt 0x7f12680b0150, Constant:i32<0>
          0x7f12680b0150: v4i32 = bitcast 0x7f12680b00e8
            0x7f12680b00e8: v4f32,ch = llvm.amdgcn.image.sample<LD16[TargetCustom7(addrspace=2)](dereferenceable)> 0x7f1268033948, TargetConstant:i32<459>, 0x7f12680b0e50, 0x7f12680ab0e8, 0x7f12680ab220, Constant:i32<15>, Constant:i1<0>, Constant:i1<0>, Constant:i1<0>, Constant:i1<0>, Constant:i1<0>
              0x7f12680affb0: i32 = TargetConstant<459>
              0x7f12680b0e50: v2f32 = BUILD_VECTOR 0x7f12680a87c8, 0x7f12680aaee0
                0x7f12680a87c8: f32 = INTERP_P2 0x7f12680a8898, 0x7f12680ab288, Constant:i32<0>, Constant:i32<0>, 0x7f12680aae10:1
                  0x7f12680a8898: f32 = INTERP_P1 0x7f12680ab018, Constant:i32<0>, Constant:i32<0>, 0x7f12680aada8:1




                  0x7f12680ab288: f32 = bitcast 0x7f12680a8b08

                  0x7f12680aaa68: i32 = Constant<0>
                  0x7f12680aaa68: i32 = Constant<0>
                  0x7f12680aae10: ch,glue = SI_INIT_M0 0x7f12680a86f8, 0x7f1268033948

                0x7f12680aaee0: f32 = fsub nsz ConstantFP:f32<1.000000e+00>, 0x7f12680a8760
                  0x7f12680aae78: f32 = ConstantFP<1.000000e+00>
                  0x7f12680a8760: f32 = INTERP_P2 0x7f12680a8830, 0x7f12680ab288, Constant:i32<1>, Constant:i32<0>, 0x7f12680b0908:1





              0x7f12680ab0e8: v8i32,ch = load<LD32[%30(addrspace=2)](dereferenceable)(invariant)> 0x7f1268033948, 0x7f12680aafb0, undef:i64
                0x7f12680aafb0: i64 = add 0x7f12680a8558, Constant:i64<512>
                  0x7f12680a8558: i64,ch = CopyFromReg 0x7f1268033948, Register:i64 %3

                  0x7f12680aaf48: i64 = Constant<512>
                0x7f12680ab080: i64 = undef
              0x7f12680ab220: v4i32,ch = load<LD16[%33(addrspace=2)](dereferenceable)(invariant)> 0x7f1268033948, 0x7f12680ab1b8, undef:i64
                0x7f12680ab1b8: i64 = add 0x7f12680a8558, Constant:i64<560>
                  0x7f12680a8558: i64,ch = CopyFromReg 0x7f1268033948, Register:i64 %3

                  0x7f12680ab150: i64 = Constant<560>
                0x7f12680ab080: i64 = undef
              0x7f12680b0018: i32 = Constant<15>
              0x7f12680b0080: i1 = Constant<0>
              0x7f12680b0080: i1 = Constant<0>
              0x7f12680b0080: i1 = Constant<0>
              0x7f12680b0080: i1 = Constant<0>
              0x7f12680b0080: i1 = Constant<0>
          0x7f12680aaa68: i32 = Constant<0>
        0x7f12680aac08: i32 = Constant<65535>
    0x7f12680a8350: i32 = Constant<16>
Comment 1 João Henrique 2018-02-02 08:21:36 UTC
Issue has been fixed as of http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20180129/521298.html so it wasn't really a Mesa bug.
Comment 2 Michel Dänzer 2018-02-02 15:14:38 UTC
*** Bug 104374 has been marked as a duplicate of this bug. ***


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.