[llvm] 4779d6c - [X86] load-local-v3i129.ll - add checks for targets with fast/slow shld funnel shift ops
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Tue May 3 07:28:59 PDT 2022
Author: Simon Pilgrim
Date: 2022-05-03T15:28:46+01:00
New Revision: 4779d6cca20c59089615ac98620e85f1288c16f9
URL: https://github.com/llvm/llvm-project/commit/4779d6cca20c59089615ac98620e85f1288c16f9
DIFF: https://github.com/llvm/llvm-project/commit/4779d6cca20c59089615ac98620e85f1288c16f9.diff
LOG: [X86] load-local-v3i129.ll - add checks for targets with fast/slow shld funnel shift ops
Added:
Modified:
llvm/test/CodeGen/X86/load-local-v3i129.ll
Removed:
################################################################################
diff --git a/llvm/test/CodeGen/X86/load-local-v3i129.ll b/llvm/test/CodeGen/X86/load-local-v3i129.ll
index b88e7a03ab0b1..f33989177cbdf 100644
--- a/llvm/test/CodeGen/X86/load-local-v3i129.ll
+++ b/llvm/test/CodeGen/X86/load-local-v3i129.ll
@@ -1,20 +1,39 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s --check-prefix=FAST-SHLD
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+slow-shld | FileCheck %s --check-prefix=SLOW-SHLD
define void @_start() {
-; CHECK-LABEL: _start:
-; CHECK: # %bb.0: # %Entry
-; CHECK-NEXT: movq -{{[0-9]+}}(%rsp), %rax
-; CHECK-NEXT: movq -{{[0-9]+}}(%rsp), %rcx
-; CHECK-NEXT: shrdq $2, %rcx, %rax
-; CHECK-NEXT: shrq $2, %rcx
-; CHECK-NEXT: leaq 1(,%rax,4), %rdx
-; CHECK-NEXT: movq %rdx, -{{[0-9]+}}(%rsp)
-; CHECK-NEXT: shrdq $62, %rcx, %rax
-; CHECK-NEXT: movq %rax, -{{[0-9]+}}(%rsp)
-; CHECK-NEXT: orq $-2, -{{[0-9]+}}(%rsp)
-; CHECK-NEXT: movq $-1, -{{[0-9]+}}(%rsp)
-; CHECK-NEXT: retq
+; FAST-SHLD-LABEL: _start:
+; FAST-SHLD: # %bb.0: # %Entry
+; FAST-SHLD-NEXT: movq -{{[0-9]+}}(%rsp), %rax
+; FAST-SHLD-NEXT: movq -{{[0-9]+}}(%rsp), %rcx
+; FAST-SHLD-NEXT: shrdq $2, %rcx, %rax
+; FAST-SHLD-NEXT: shrq $2, %rcx
+; FAST-SHLD-NEXT: leaq 1(,%rax,4), %rdx
+; FAST-SHLD-NEXT: movq %rdx, -{{[0-9]+}}(%rsp)
+; FAST-SHLD-NEXT: shrdq $62, %rcx, %rax
+; FAST-SHLD-NEXT: movq %rax, -{{[0-9]+}}(%rsp)
+; FAST-SHLD-NEXT: orq $-2, -{{[0-9]+}}(%rsp)
+; FAST-SHLD-NEXT: movq $-1, -{{[0-9]+}}(%rsp)
+; FAST-SHLD-NEXT: retq
+;
+; SLOW-SHLD-LABEL: _start:
+; SLOW-SHLD: # %bb.0: # %Entry
+; SLOW-SHLD-NEXT: movq -{{[0-9]+}}(%rsp), %rax
+; SLOW-SHLD-NEXT: movq -{{[0-9]+}}(%rsp), %rcx
+; SLOW-SHLD-NEXT: shrq $2, %rax
+; SLOW-SHLD-NEXT: movq %rcx, %rdx
+; SLOW-SHLD-NEXT: shlq $62, %rdx
+; SLOW-SHLD-NEXT: orq %rax, %rdx
+; SLOW-SHLD-NEXT: andq $-4, %rcx
+; SLOW-SHLD-NEXT: leaq 1(,%rdx,4), %rax
+; SLOW-SHLD-NEXT: movq %rax, -{{[0-9]+}}(%rsp)
+; SLOW-SHLD-NEXT: shrq $62, %rdx
+; SLOW-SHLD-NEXT: orq %rcx, %rdx
+; SLOW-SHLD-NEXT: movq %rdx, -{{[0-9]+}}(%rsp)
+; SLOW-SHLD-NEXT: orq $-2, -{{[0-9]+}}(%rsp)
+; SLOW-SHLD-NEXT: movq $-1, -{{[0-9]+}}(%rsp)
+; SLOW-SHLD-NEXT: retq
Entry:
%y = alloca <3 x i129>, align 4
%L = load <3 x i129>, <3 x i129>* %y
More information about the llvm-commits
mailing list