[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