Skip to content

[DAG] extractShiftForRotate - Assertion `(OppShift.getOpcode() == ISD::SHL || OppShift.getOpcode() == ISD::SRL) && "Existing shift must be valid as a rotate half" #57474

Closed
llvm/llvm-project-release-prs
#138
@RKSimon

Description

@RKSimon

Pulled out of #57283

define void @f() {
BB:
  br label %BB1

BB1:                                              ; preds = %BB
  %A = alloca <1 x i16>, align 2
  %L1 = load <1 x i16>, <1 x i16>* %A, align 2
  %I = insertelement <1 x i16> %L1, i16 -1, i16 0
  %B6 = add <1 x i16> %I, %I
  %B3 = srem <1 x i16> %B6, %I
  %B1 = add <1 x i16> %B3, %B3
  %B5 = sdiv <1 x i16> %B1, %I
  %B4 = udiv <1 x i16> %B3, <i16 -32768>
  %B2 = or <1 x i16> %B4, %B5
  %B = lshr <1 x i16> <i16 -32768>, %B2
  store <1 x i16> %B, <1 x i16>* %A, align 2
  ret void
}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Done

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions