[DAGCombine][NFC] Masked merge unfolding: comment: some tests are non-canonical

As requested in https://reviews.llvm.org/D46494#inline-407282

llvm-svn: 331650
This commit is contained in:
Roman Lebedev 2018-05-07 16:42:47 +00:00
parent 7b24aea150
commit 0412c90236
2 changed files with 16 additions and 0 deletions

View File

@ -355,6 +355,7 @@ define i32 @in_constant_varx_mone(i32 %x, i32 %y, i32 %mask) {
%r = xor i32 %n1, -1 %r = xor i32 %n1, -1
ret i32 %r ret i32 %r
} }
; This is not a canonical form. Testing for completeness only.
define i32 @out_constant_varx_mone_invmask(i32 %x, i32 %y, i32 %mask) { define i32 @out_constant_varx_mone_invmask(i32 %x, i32 %y, i32 %mask) {
; CHECK-LABEL: out_constant_varx_mone_invmask: ; CHECK-LABEL: out_constant_varx_mone_invmask:
; CHECK: // %bb.0: ; CHECK: // %bb.0:
@ -367,6 +368,7 @@ define i32 @out_constant_varx_mone_invmask(i32 %x, i32 %y, i32 %mask) {
%r = or i32 %mx, %my %r = or i32 %mx, %my
ret i32 %r ret i32 %r
} }
; This is not a canonical form. Testing for completeness only.
define i32 @in_constant_varx_mone_invmask(i32 %x, i32 %y, i32 %mask) { define i32 @in_constant_varx_mone_invmask(i32 %x, i32 %y, i32 %mask) {
; CHECK-LABEL: in_constant_varx_mone_invmask: ; CHECK-LABEL: in_constant_varx_mone_invmask:
; CHECK: // %bb.0: ; CHECK: // %bb.0:
@ -407,6 +409,7 @@ define i32 @in_constant_varx_42(i32 %x, i32 %y, i32 %mask) {
%r = xor i32 %n1, 42 %r = xor i32 %n1, 42
ret i32 %r ret i32 %r
} }
; This is not a canonical form. Testing for completeness only.
define i32 @out_constant_varx_42_invmask(i32 %x, i32 %y, i32 %mask) { define i32 @out_constant_varx_42_invmask(i32 %x, i32 %y, i32 %mask) {
; CHECK-LABEL: out_constant_varx_42_invmask: ; CHECK-LABEL: out_constant_varx_42_invmask:
; CHECK: // %bb.0: ; CHECK: // %bb.0:
@ -421,6 +424,7 @@ define i32 @out_constant_varx_42_invmask(i32 %x, i32 %y, i32 %mask) {
%r = or i32 %mx, %my %r = or i32 %mx, %my
ret i32 %r ret i32 %r
} }
; This is not a canonical form. Testing for completeness only.
define i32 @in_constant_varx_42_invmask(i32 %x, i32 %y, i32 %mask) { define i32 @in_constant_varx_42_invmask(i32 %x, i32 %y, i32 %mask) {
; CHECK-LABEL: in_constant_varx_42_invmask: ; CHECK-LABEL: in_constant_varx_42_invmask:
; CHECK: // %bb.0: ; CHECK: // %bb.0:
@ -458,6 +462,7 @@ define i32 @in_constant_mone_vary(i32 %x, i32 %y, i32 %mask) {
%r = xor i32 %n1, %y %r = xor i32 %n1, %y
ret i32 %r ret i32 %r
} }
; This is not a canonical form. Testing for completeness only.
define i32 @out_constant_mone_vary_invmask(i32 %x, i32 %y, i32 %mask) { define i32 @out_constant_mone_vary_invmask(i32 %x, i32 %y, i32 %mask) {
; CHECK-LABEL: out_constant_mone_vary_invmask: ; CHECK-LABEL: out_constant_mone_vary_invmask:
; CHECK: // %bb.0: ; CHECK: // %bb.0:
@ -470,6 +475,7 @@ define i32 @out_constant_mone_vary_invmask(i32 %x, i32 %y, i32 %mask) {
%r = or i32 %mx, %my %r = or i32 %mx, %my
ret i32 %r ret i32 %r
} }
; This is not a canonical form. Testing for completeness only.
define i32 @in_constant_mone_vary_invmask(i32 %x, i32 %y, i32 %mask) { define i32 @in_constant_mone_vary_invmask(i32 %x, i32 %y, i32 %mask) {
; CHECK-LABEL: in_constant_mone_vary_invmask: ; CHECK-LABEL: in_constant_mone_vary_invmask:
; CHECK: // %bb.0: ; CHECK: // %bb.0:
@ -510,6 +516,7 @@ define i32 @in_constant_42_vary(i32 %x, i32 %y, i32 %mask) {
%r = xor i32 %n1, %y %r = xor i32 %n1, %y
ret i32 %r ret i32 %r
} }
; This is not a canonical form. Testing for completeness only.
define i32 @out_constant_42_vary_invmask(i32 %x, i32 %y, i32 %mask) { define i32 @out_constant_42_vary_invmask(i32 %x, i32 %y, i32 %mask) {
; CHECK-LABEL: out_constant_42_vary_invmask: ; CHECK-LABEL: out_constant_42_vary_invmask:
; CHECK: // %bb.0: ; CHECK: // %bb.0:
@ -524,6 +531,7 @@ define i32 @out_constant_42_vary_invmask(i32 %x, i32 %y, i32 %mask) {
%r = or i32 %mx, %my %r = or i32 %mx, %my
ret i32 %r ret i32 %r
} }
; This is not a canonical form. Testing for completeness only.
define i32 @in_constant_42_vary_invmask(i32 %x, i32 %y, i32 %mask) { define i32 @in_constant_42_vary_invmask(i32 %x, i32 %y, i32 %mask) {
; CHECK-LABEL: in_constant_42_vary_invmask: ; CHECK-LABEL: in_constant_42_vary_invmask:
; CHECK: // %bb.0: ; CHECK: // %bb.0:

View File

@ -578,6 +578,7 @@ define i32 @in_constant_varx_mone(i32 %x, i32 %y, i32 %mask) {
%r = xor i32 %n1, -1 %r = xor i32 %n1, -1
ret i32 %r ret i32 %r
} }
; This is not a canonical form. Testing for completeness only.
define i32 @out_constant_varx_mone_invmask(i32 %x, i32 %y, i32 %mask) { define i32 @out_constant_varx_mone_invmask(i32 %x, i32 %y, i32 %mask) {
; CHECK-NOBMI-LABEL: out_constant_varx_mone_invmask: ; CHECK-NOBMI-LABEL: out_constant_varx_mone_invmask:
; CHECK-NOBMI: # %bb.0: ; CHECK-NOBMI: # %bb.0:
@ -598,6 +599,7 @@ define i32 @out_constant_varx_mone_invmask(i32 %x, i32 %y, i32 %mask) {
%r = or i32 %mx, %my %r = or i32 %mx, %my
ret i32 %r ret i32 %r
} }
; This is not a canonical form. Testing for completeness only.
define i32 @in_constant_varx_mone_invmask(i32 %x, i32 %y, i32 %mask) { define i32 @in_constant_varx_mone_invmask(i32 %x, i32 %y, i32 %mask) {
; CHECK-NOBMI-LABEL: in_constant_varx_mone_invmask: ; CHECK-NOBMI-LABEL: in_constant_varx_mone_invmask:
; CHECK-NOBMI: # %bb.0: ; CHECK-NOBMI: # %bb.0:
@ -666,6 +668,7 @@ define i32 @in_constant_varx_42(i32 %x, i32 %y, i32 %mask) {
%r = xor i32 %n1, 42 %r = xor i32 %n1, 42
ret i32 %r ret i32 %r
} }
; This is not a canonical form. Testing for completeness only.
define i32 @out_constant_varx_42_invmask(i32 %x, i32 %y, i32 %mask) { define i32 @out_constant_varx_42_invmask(i32 %x, i32 %y, i32 %mask) {
; CHECK-NOBMI-LABEL: out_constant_varx_42_invmask: ; CHECK-NOBMI-LABEL: out_constant_varx_42_invmask:
; CHECK-NOBMI: # %bb.0: ; CHECK-NOBMI: # %bb.0:
@ -689,6 +692,7 @@ define i32 @out_constant_varx_42_invmask(i32 %x, i32 %y, i32 %mask) {
%r = or i32 %mx, %my %r = or i32 %mx, %my
ret i32 %r ret i32 %r
} }
; This is not a canonical form. Testing for completeness only.
define i32 @in_constant_varx_42_invmask(i32 %x, i32 %y, i32 %mask) { define i32 @in_constant_varx_42_invmask(i32 %x, i32 %y, i32 %mask) {
; CHECK-NOBMI-LABEL: in_constant_varx_42_invmask: ; CHECK-NOBMI-LABEL: in_constant_varx_42_invmask:
; CHECK-NOBMI: # %bb.0: ; CHECK-NOBMI: # %bb.0:
@ -750,6 +754,7 @@ define i32 @in_constant_mone_vary(i32 %x, i32 %y, i32 %mask) {
%r = xor i32 %n1, %y %r = xor i32 %n1, %y
ret i32 %r ret i32 %r
} }
; This is not a canonical form. Testing for completeness only.
define i32 @out_constant_mone_vary_invmask(i32 %x, i32 %y, i32 %mask) { define i32 @out_constant_mone_vary_invmask(i32 %x, i32 %y, i32 %mask) {
; CHECK-NOBMI-LABEL: out_constant_mone_vary_invmask: ; CHECK-NOBMI-LABEL: out_constant_mone_vary_invmask:
; CHECK-NOBMI: # %bb.0: ; CHECK-NOBMI: # %bb.0:
@ -772,6 +777,7 @@ define i32 @out_constant_mone_vary_invmask(i32 %x, i32 %y, i32 %mask) {
%r = or i32 %mx, %my %r = or i32 %mx, %my
ret i32 %r ret i32 %r
} }
; This is not a canonical form. Testing for completeness only.
define i32 @in_constant_mone_vary_invmask(i32 %x, i32 %y, i32 %mask) { define i32 @in_constant_mone_vary_invmask(i32 %x, i32 %y, i32 %mask) {
; CHECK-NOBMI-LABEL: in_constant_mone_vary_invmask: ; CHECK-NOBMI-LABEL: in_constant_mone_vary_invmask:
; CHECK-NOBMI: # %bb.0: ; CHECK-NOBMI: # %bb.0:
@ -836,6 +842,7 @@ define i32 @in_constant_42_vary(i32 %x, i32 %y, i32 %mask) {
%r = xor i32 %n1, %y %r = xor i32 %n1, %y
ret i32 %r ret i32 %r
} }
; This is not a canonical form. Testing for completeness only.
define i32 @out_constant_42_vary_invmask(i32 %x, i32 %y, i32 %mask) { define i32 @out_constant_42_vary_invmask(i32 %x, i32 %y, i32 %mask) {
; CHECK-NOBMI-LABEL: out_constant_42_vary_invmask: ; CHECK-NOBMI-LABEL: out_constant_42_vary_invmask:
; CHECK-NOBMI: # %bb.0: ; CHECK-NOBMI: # %bb.0:
@ -860,6 +867,7 @@ define i32 @out_constant_42_vary_invmask(i32 %x, i32 %y, i32 %mask) {
%r = or i32 %mx, %my %r = or i32 %mx, %my
ret i32 %r ret i32 %r
} }
; This is not a canonical form. Testing for completeness only.
define i32 @in_constant_42_vary_invmask(i32 %x, i32 %y, i32 %mask) { define i32 @in_constant_42_vary_invmask(i32 %x, i32 %y, i32 %mask) {
; CHECK-NOBMI-LABEL: in_constant_42_vary_invmask: ; CHECK-NOBMI-LABEL: in_constant_42_vary_invmask:
; CHECK-NOBMI: # %bb.0: ; CHECK-NOBMI: # %bb.0: