From: Craig Topper Date: Wed, 2 Jan 2019 05:46:00 +0000 (+0000) Subject: [X86] Remove KNL specific check prefix from xmulo.ll test. NFC X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2e17d1cbef9bfe38e9fba98a5e6580d18999fb36;p=llvm [X86] Remove KNL specific check prefix from xmulo.ll test. NFC This was added at a time when i1 was a legal type with avx512f and there was a bug. i1 is no longer considered a legal type with avx512f so there should be no codegen difference. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@350203 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/CodeGen/X86/xmulo.ll b/test/CodeGen/X86/xmulo.ll index 8d2e81fb54a..afc05e1c104 100644 --- a/test/CodeGen/X86/xmulo.ll +++ b/test/CodeGen/X86/xmulo.ll @@ -1,7 +1,7 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py ; RUN: llc -mtriple=x86_64-darwin-unknown < %s | FileCheck %s --check-prefix=SDAG ; RUN: llc -mtriple=x86_64-darwin-unknown -fast-isel -fast-isel-abort=1 < %s | FileCheck %s --check-prefix=FAST -; RUN: llc -mtriple=x86_64-darwin-unknown -mcpu=knl < %s | FileCheck %s --check-prefix=KNL +; RUN: llc -mtriple=x86_64-darwin-unknown -mcpu=knl < %s | FileCheck %s --check-prefix=SDAG --check-prefix=KNL define {i64, i1} @t1() nounwind { ; SDAG-LABEL: t1: @@ -19,14 +19,6 @@ define {i64, i1} @t1() nounwind { ; FAST-NEXT: mulq %rcx ; FAST-NEXT: seto %dl ; FAST-NEXT: retq -; -; KNL-LABEL: t1: -; KNL: ## %bb.0: -; KNL-NEXT: movl $8, %ecx -; KNL-NEXT: movl $9, %eax -; KNL-NEXT: mulq %rcx -; KNL-NEXT: seto %dl -; KNL-NEXT: retq %1 = call {i64, i1} @llvm.umul.with.overflow.i64(i64 9, i64 8) ret {i64, i1} %1 } @@ -47,14 +39,6 @@ define {i64, i1} @t2() nounwind { ; FAST-NEXT: mulq %rcx ; FAST-NEXT: seto %dl ; FAST-NEXT: retq -; -; KNL-LABEL: t2: -; KNL: ## %bb.0: -; KNL-NEXT: xorl %ecx, %ecx -; KNL-NEXT: movl $9, %eax -; KNL-NEXT: mulq %rcx -; KNL-NEXT: seto %dl -; KNL-NEXT: retq %1 = call {i64, i1} @llvm.umul.with.overflow.i64(i64 9, i64 0) ret {i64, i1} %1 } @@ -75,14 +59,6 @@ define {i64, i1} @t3() nounwind { ; FAST-NEXT: mulq %rcx ; FAST-NEXT: seto %dl ; FAST-NEXT: retq -; -; KNL-LABEL: t3: -; KNL: ## %bb.0: -; KNL-NEXT: movq $-1, %rcx -; KNL-NEXT: movl $9, %eax -; KNL-NEXT: mulq %rcx -; KNL-NEXT: seto %dl -; KNL-NEXT: retq %1 = call {i64, i1} @llvm.umul.with.overflow.i64(i64 9, i64 -1) ret {i64, i1} %1 } @@ -109,16 +85,6 @@ define zeroext i1 @smuloi8(i8 %v1, i8 %v2, i8* %res) { ; FAST-NEXT: andb $1, %cl ; FAST-NEXT: movzbl %cl, %eax ; FAST-NEXT: retq -; -; KNL-LABEL: smuloi8: -; KNL: ## %bb.0: -; KNL-NEXT: movl %edi, %eax -; KNL-NEXT: ## kill: def $al killed $al killed $eax -; KNL-NEXT: imulb %sil -; KNL-NEXT: seto %cl -; KNL-NEXT: movb %al, (%rdx) -; KNL-NEXT: movl %ecx, %eax -; KNL-NEXT: retq %t = call {i8, i1} @llvm.smul.with.overflow.i8(i8 %v1, i8 %v2) %val = extractvalue {i8, i1} %t, 0 %obit = extractvalue {i8, i1} %t, 1 @@ -142,13 +108,6 @@ define zeroext i1 @smuloi16(i16 %v1, i16 %v2, i16* %res) { ; FAST-NEXT: andb $1, %al ; FAST-NEXT: movzbl %al, %eax ; FAST-NEXT: retq -; -; KNL-LABEL: smuloi16: -; KNL: ## %bb.0: -; KNL-NEXT: imulw %si, %di -; KNL-NEXT: seto %al -; KNL-NEXT: movw %di, (%rdx) -; KNL-NEXT: retq %t = call {i16, i1} @llvm.smul.with.overflow.i16(i16 %v1, i16 %v2) %val = extractvalue {i16, i1} %t, 0 %obit = extractvalue {i16, i1} %t, 1 @@ -172,13 +131,6 @@ define zeroext i1 @smuloi32(i32 %v1, i32 %v2, i32* %res) { ; FAST-NEXT: andb $1, %al ; FAST-NEXT: movzbl %al, %eax ; FAST-NEXT: retq -; -; KNL-LABEL: smuloi32: -; KNL: ## %bb.0: -; KNL-NEXT: imull %esi, %edi -; KNL-NEXT: seto %al -; KNL-NEXT: movl %edi, (%rdx) -; KNL-NEXT: retq %t = call {i32, i1} @llvm.smul.with.overflow.i32(i32 %v1, i32 %v2) %val = extractvalue {i32, i1} %t, 0 %obit = extractvalue {i32, i1} %t, 1 @@ -202,13 +154,6 @@ define zeroext i1 @smuloi64(i64 %v1, i64 %v2, i64* %res) { ; FAST-NEXT: andb $1, %al ; FAST-NEXT: movzbl %al, %eax ; FAST-NEXT: retq -; -; KNL-LABEL: smuloi64: -; KNL: ## %bb.0: -; KNL-NEXT: imulq %rsi, %rdi -; KNL-NEXT: seto %al -; KNL-NEXT: movq %rdi, (%rdx) -; KNL-NEXT: retq %t = call {i64, i1} @llvm.smul.with.overflow.i64(i64 %v1, i64 %v2) %val = extractvalue {i64, i1} %t, 0 %obit = extractvalue {i64, i1} %t, 1 @@ -238,16 +183,6 @@ define zeroext i1 @umuloi8(i8 %v1, i8 %v2, i8* %res) { ; FAST-NEXT: andb $1, %cl ; FAST-NEXT: movzbl %cl, %eax ; FAST-NEXT: retq -; -; KNL-LABEL: umuloi8: -; KNL: ## %bb.0: -; KNL-NEXT: movl %edi, %eax -; KNL-NEXT: ## kill: def $al killed $al killed $eax -; KNL-NEXT: mulb %sil -; KNL-NEXT: seto %cl -; KNL-NEXT: movb %al, (%rdx) -; KNL-NEXT: movl %ecx, %eax -; KNL-NEXT: retq %t = call {i8, i1} @llvm.umul.with.overflow.i8(i8 %v1, i8 %v2) %val = extractvalue {i8, i1} %t, 0 %obit = extractvalue {i8, i1} %t, 1 @@ -278,17 +213,6 @@ define zeroext i1 @umuloi16(i16 %v1, i16 %v2, i16* %res) { ; FAST-NEXT: andb $1, %dl ; FAST-NEXT: movzbl %dl, %eax ; FAST-NEXT: retq -; -; KNL-LABEL: umuloi16: -; KNL: ## %bb.0: -; KNL-NEXT: movq %rdx, %rcx -; KNL-NEXT: movl %edi, %eax -; KNL-NEXT: ## kill: def $ax killed $ax killed $eax -; KNL-NEXT: mulw %si -; KNL-NEXT: seto %dl -; KNL-NEXT: movw %ax, (%rcx) -; KNL-NEXT: movl %edx, %eax -; KNL-NEXT: retq %t = call {i16, i1} @llvm.umul.with.overflow.i16(i16 %v1, i16 %v2) %val = extractvalue {i16, i1} %t, 0 %obit = extractvalue {i16, i1} %t, 1 @@ -317,16 +241,6 @@ define zeroext i1 @umuloi32(i32 %v1, i32 %v2, i32* %res) { ; FAST-NEXT: andb $1, %dl ; FAST-NEXT: movzbl %dl, %eax ; FAST-NEXT: retq -; -; KNL-LABEL: umuloi32: -; KNL: ## %bb.0: -; KNL-NEXT: movq %rdx, %rcx -; KNL-NEXT: movl %edi, %eax -; KNL-NEXT: mull %esi -; KNL-NEXT: seto %dl -; KNL-NEXT: movl %eax, (%rcx) -; KNL-NEXT: movl %edx, %eax -; KNL-NEXT: retq %t = call {i32, i1} @llvm.umul.with.overflow.i32(i32 %v1, i32 %v2) %val = extractvalue {i32, i1} %t, 0 %obit = extractvalue {i32, i1} %t, 1 @@ -355,16 +269,6 @@ define zeroext i1 @umuloi64(i64 %v1, i64 %v2, i64* %res) { ; FAST-NEXT: andb $1, %dl ; FAST-NEXT: movzbl %dl, %eax ; FAST-NEXT: retq -; -; KNL-LABEL: umuloi64: -; KNL: ## %bb.0: -; KNL-NEXT: movq %rdx, %rcx -; KNL-NEXT: movq %rdi, %rax -; KNL-NEXT: mulq %rsi -; KNL-NEXT: seto %dl -; KNL-NEXT: movq %rax, (%rcx) -; KNL-NEXT: movl %edx, %eax -; KNL-NEXT: retq %t = call {i64, i1} @llvm.umul.with.overflow.i64(i64 %v1, i64 %v2) %val = extractvalue {i64, i1} %t, 0 %obit = extractvalue {i64, i1} %t, 1 @@ -391,14 +295,6 @@ define i32 @smuloselecti32(i32 %v1, i32 %v2) { ; FAST-NEXT: imull %esi, %ecx ; FAST-NEXT: cmovol %edi, %eax ; FAST-NEXT: retq -; -; KNL-LABEL: smuloselecti32: -; KNL: ## %bb.0: -; KNL-NEXT: movl %esi, %eax -; KNL-NEXT: movl %edi, %ecx -; KNL-NEXT: imull %esi, %ecx -; KNL-NEXT: cmovol %edi, %eax -; KNL-NEXT: retq %t = call {i32, i1} @llvm.smul.with.overflow.i32(i32 %v1, i32 %v2) %obit = extractvalue {i32, i1} %t, 1 %ret = select i1 %obit, i32 %v1, i32 %v2 @@ -421,14 +317,6 @@ define i64 @smuloselecti64(i64 %v1, i64 %v2) { ; FAST-NEXT: imulq %rsi, %rcx ; FAST-NEXT: cmovoq %rdi, %rax ; FAST-NEXT: retq -; -; KNL-LABEL: smuloselecti64: -; KNL: ## %bb.0: -; KNL-NEXT: movq %rsi, %rax -; KNL-NEXT: movq %rdi, %rcx -; KNL-NEXT: imulq %rsi, %rcx -; KNL-NEXT: cmovoq %rdi, %rax -; KNL-NEXT: retq %t = call {i64, i1} @llvm.smul.with.overflow.i64(i64 %v1, i64 %v2) %obit = extractvalue {i64, i1} %t, 1 %ret = select i1 %obit, i64 %v1, i64 %v2 @@ -451,14 +339,6 @@ define i32 @umuloselecti32(i32 %v1, i32 %v2) { ; FAST-NEXT: cmovol %edi, %esi ; FAST-NEXT: movl %esi, %eax ; FAST-NEXT: retq -; -; KNL-LABEL: umuloselecti32: -; KNL: ## %bb.0: -; KNL-NEXT: movl %edi, %eax -; KNL-NEXT: mull %esi -; KNL-NEXT: cmovol %edi, %esi -; KNL-NEXT: movl %esi, %eax -; KNL-NEXT: retq %t = call {i32, i1} @llvm.umul.with.overflow.i32(i32 %v1, i32 %v2) %obit = extractvalue {i32, i1} %t, 1 %ret = select i1 %obit, i32 %v1, i32 %v2 @@ -481,14 +361,6 @@ define i64 @umuloselecti64(i64 %v1, i64 %v2) { ; FAST-NEXT: cmovoq %rdi, %rsi ; FAST-NEXT: movq %rsi, %rax ; FAST-NEXT: retq -; -; KNL-LABEL: umuloselecti64: -; KNL: ## %bb.0: -; KNL-NEXT: movq %rdi, %rax -; KNL-NEXT: mulq %rsi -; KNL-NEXT: cmovoq %rdi, %rsi -; KNL-NEXT: movq %rsi, %rax -; KNL-NEXT: retq %t = call {i64, i1} @llvm.umul.with.overflow.i64(i64 %v1, i64 %v2) %obit = extractvalue {i64, i1} %t, 1 %ret = select i1 %obit, i64 %v1, i64 %v2 @@ -524,17 +396,6 @@ define zeroext i1 @smulobri32(i32 %v1, i32 %v2) { ; FAST-NEXT: andb $1, %al ; FAST-NEXT: movzbl %al, %eax ; FAST-NEXT: retq -; -; KNL-LABEL: smulobri32: -; KNL: ## %bb.0: -; KNL-NEXT: imull %esi, %edi -; KNL-NEXT: jo LBB15_1 -; KNL-NEXT: ## %bb.2: ## %continue -; KNL-NEXT: movb $1, %al -; KNL-NEXT: retq -; KNL-NEXT: LBB15_1: ## %overflow -; KNL-NEXT: xorl %eax, %eax -; KNL-NEXT: retq %t = call {i32, i1} @llvm.smul.with.overflow.i32(i32 %v1, i32 %v2) %val = extractvalue {i32, i1} %t, 0 %obit = extractvalue {i32, i1} %t, 1 @@ -573,17 +434,6 @@ define zeroext i1 @smulobri64(i64 %v1, i64 %v2) { ; FAST-NEXT: andb $1, %al ; FAST-NEXT: movzbl %al, %eax ; FAST-NEXT: retq -; -; KNL-LABEL: smulobri64: -; KNL: ## %bb.0: -; KNL-NEXT: imulq %rsi, %rdi -; KNL-NEXT: jo LBB16_1 -; KNL-NEXT: ## %bb.2: ## %continue -; KNL-NEXT: movb $1, %al -; KNL-NEXT: retq -; KNL-NEXT: LBB16_1: ## %overflow -; KNL-NEXT: xorl %eax, %eax -; KNL-NEXT: retq %t = call {i64, i1} @llvm.smul.with.overflow.i64(i64 %v1, i64 %v2) %val = extractvalue {i64, i1} %t, 0 %obit = extractvalue {i64, i1} %t, 1 @@ -624,18 +474,6 @@ define zeroext i1 @umulobri32(i32 %v1, i32 %v2) { ; FAST-NEXT: andb $1, %al ; FAST-NEXT: movzbl %al, %eax ; FAST-NEXT: retq -; -; KNL-LABEL: umulobri32: -; KNL: ## %bb.0: -; KNL-NEXT: movl %edi, %eax -; KNL-NEXT: mull %esi -; KNL-NEXT: jo LBB17_1 -; KNL-NEXT: ## %bb.2: ## %continue -; KNL-NEXT: movb $1, %al -; KNL-NEXT: retq -; KNL-NEXT: LBB17_1: ## %overflow -; KNL-NEXT: xorl %eax, %eax -; KNL-NEXT: retq %t = call {i32, i1} @llvm.umul.with.overflow.i32(i32 %v1, i32 %v2) %val = extractvalue {i32, i1} %t, 0 %obit = extractvalue {i32, i1} %t, 1 @@ -676,18 +514,6 @@ define zeroext i1 @umulobri64(i64 %v1, i64 %v2) { ; FAST-NEXT: andb $1, %al ; FAST-NEXT: movzbl %al, %eax ; FAST-NEXT: retq -; -; KNL-LABEL: umulobri64: -; KNL: ## %bb.0: -; KNL-NEXT: movq %rdi, %rax -; KNL-NEXT: mulq %rsi -; KNL-NEXT: jo LBB18_1 -; KNL-NEXT: ## %bb.2: ## %continue -; KNL-NEXT: movb $1, %al -; KNL-NEXT: retq -; KNL-NEXT: LBB18_1: ## %overflow -; KNL-NEXT: xorl %eax, %eax -; KNL-NEXT: retq %t = call {i64, i1} @llvm.umul.with.overflow.i64(i64 %v1, i64 %v2) %val = extractvalue {i64, i1} %t, 0 %obit = extractvalue {i64, i1} %t, 1 @@ -718,15 +544,6 @@ define i1 @bug27873(i64 %c1, i1 %c2) { ; FAST-NEXT: seto %al ; FAST-NEXT: orb %sil, %al ; FAST-NEXT: retq -; -; KNL-LABEL: bug27873: -; KNL: ## %bb.0: -; KNL-NEXT: movq %rdi, %rax -; KNL-NEXT: movl $160, %ecx -; KNL-NEXT: mulq %rcx -; KNL-NEXT: seto %al -; KNL-NEXT: orb %sil, %al -; KNL-NEXT: retq %mul = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %c1, i64 160) %mul.overflow = extractvalue { i64, i1 } %mul, 1 %x1 = or i1 %c2, %mul.overflow