Skip to content

[InstCombine] Commuted pattern is not handled #121701

Closed
@dtcxzyw

Description

@dtcxzyw

https://godbolt.org/z/5bh5v8Tn6

define i1 @no_masks_with_logical_or1(i32 %a, i32 %b, i32 noundef %c) {
  %cmp1 = icmp ne i32 %a, 0
  %cmp2 = icmp ne i32 %b, 63
  %or1 = select i1 %cmp1, i1 true, i1 %cmp2
  %cmp3 = icmp ne i32 %c, 0
  %or2 = or i1 %or1, %cmp3
  ret i1 %or2
}

define i1 @no_masks_with_logical_or2(i32 %a, i32 %b, i32 noundef %c) {
  %cmp1 = icmp ne i32 %a, 0
  %cmp2 = icmp ne i32 %b, 63
  %or1 = select i1 %cmp1, i1 true, i1 %cmp2
  %cmp3 = icmp ne i32 %c, 0
  %or2 = or i1 %cmp3, %or1
  ret i1 %or2
}
define i1 @no_masks_with_logical_or1(i32 %a, i32 %b, i32 noundef %c) {
  %cmp2 = icmp ne i32 %b, 63
  %1 = or i32 %a, %c
  %2 = icmp ne i32 %1, 0
  %or2 = select i1 %2, i1 true, i1 %cmp2
  ret i1 %or2
}

define i1 @no_masks_with_logical_or2(i32 %a, i32 %b, i32 noundef %c) {
  %cmp1 = icmp ne i32 %a, 0
  %cmp2 = icmp ne i32 %b, 63
  %or1 = select i1 %cmp1, i1 true, i1 %cmp2
  %cmp3 = icmp ne i32 %c, 0
  %or2 = or i1 %cmp3, %or1
  ret i1 %or2
}

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions