Skip to content

missed fold, failed to kill redundant shufflevector #86079

@zhengyang92

Description

@zhengyang92

https://godbolt.org/z/T4sTh8W87
https://alive2.llvm.org/ce/z/fh2VmQ

define <2 x float> @src(<2 x float> %0, i8 %1) {
if.else433:
  %2 = shufflevector <2 x float> %0, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %3 = fneg <2 x float> %0
  %4 = shufflevector <2 x float> %2, <2 x float> %3, <2 x i32> <i32 0, i32 3>
  ret <2 x float> %4
}

define <2 x float> @tgt(<2 x float> %0, i8 %1) {
if.else433:
  %2 = fneg <2 x float> %0
  %sv = shufflevector <2 x float> %0, <2 x float> %2, <2 x i32> <i32 1, i32 3>
  ret <2 x float> %sv
}

@dtcxzyw @regehr @RKSimon

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions