[llvm] r329626 - [X86] Added missing AAD/AAM immediate schedule tests

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 9 14:46:57 PDT 2018


Author: rksimon
Date: Mon Apr  9 14:46:57 2018
New Revision: 329626

URL: http://llvm.org/viewvc/llvm-project?rev=329626&view=rev
Log:
[X86] Added missing AAD/AAM immediate schedule tests

Added some more TODOs for missing instructions

Modified:
    llvm/trunk/test/CodeGen/X86/schedule-x86_32.ll
    llvm/trunk/test/CodeGen/X86/schedule-x86_64.ll

Modified: llvm/trunk/test/CodeGen/X86/schedule-x86_32.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/schedule-x86_32.ll?rev=329626&r1=329625&r2=329626&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/schedule-x86_32.ll (original)
+++ llvm/trunk/test/CodeGen/X86/schedule-x86_32.ll Mon Apr  9 14:46:57 2018
@@ -95,12 +95,13 @@ define i8 @test_aaa(i8 %a0) optsize {
   ret i8 %1
 }
 
-define i8 @test_aad(i16 %a0) optsize {
+define void @test_aad(i16 %a0) optsize {
 ; GENERIC-LABEL: test_aad:
 ; GENERIC:       # %bb.0:
 ; GENERIC-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
 ; GENERIC-NEXT:    #APP
 ; GENERIC-NEXT:    aad
+; GENERIC-NEXT:    aad $16
 ; GENERIC-NEXT:    #NO_APP
 ; GENERIC-NEXT:    retl
 ;
@@ -109,6 +110,7 @@ define i8 @test_aad(i16 %a0) optsize {
 ; ATOM-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [1:1.00]
 ; ATOM-NEXT:    #APP
 ; ATOM-NEXT:    aad # sched: [7:3.50]
+; ATOM-NEXT:    aad $16 # sched: [7:3.50]
 ; ATOM-NEXT:    #NO_APP
 ; ATOM-NEXT:    retl # sched: [79:39.50]
 ;
@@ -117,6 +119,7 @@ define i8 @test_aad(i16 %a0) optsize {
 ; SLM-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [4:1.00]
 ; SLM-NEXT:    #APP
 ; SLM-NEXT:    aad # sched: [100:1.00]
+; SLM-NEXT:    aad $16 # sched: [100:1.00]
 ; SLM-NEXT:    #NO_APP
 ; SLM-NEXT:    retl # sched: [4:1.00]
 ;
@@ -125,6 +128,7 @@ define i8 @test_aad(i16 %a0) optsize {
 ; SANDY-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; SANDY-NEXT:    #APP
 ; SANDY-NEXT:    aad # sched: [100:0.33]
+; SANDY-NEXT:    aad $16 # sched: [100:0.33]
 ; SANDY-NEXT:    #NO_APP
 ; SANDY-NEXT:    retl # sched: [6:1.00]
 ;
@@ -133,6 +137,7 @@ define i8 @test_aad(i16 %a0) optsize {
 ; HASWELL-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; HASWELL-NEXT:    #APP
 ; HASWELL-NEXT:    aad # sched: [100:0.25]
+; HASWELL-NEXT:    aad $16 # sched: [100:0.25]
 ; HASWELL-NEXT:    #NO_APP
 ; HASWELL-NEXT:    retl # sched: [7:1.00]
 ;
@@ -141,6 +146,7 @@ define i8 @test_aad(i16 %a0) optsize {
 ; BROADWELL-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; BROADWELL-NEXT:    #APP
 ; BROADWELL-NEXT:    aad # sched: [100:0.25]
+; BROADWELL-NEXT:    aad $16 # sched: [100:0.25]
 ; BROADWELL-NEXT:    #NO_APP
 ; BROADWELL-NEXT:    retl # sched: [6:0.50]
 ;
@@ -149,6 +155,7 @@ define i8 @test_aad(i16 %a0) optsize {
 ; SKYLAKE-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; SKYLAKE-NEXT:    #APP
 ; SKYLAKE-NEXT:    aad # sched: [100:0.25]
+; SKYLAKE-NEXT:    aad $16 # sched: [100:0.25]
 ; SKYLAKE-NEXT:    #NO_APP
 ; SKYLAKE-NEXT:    retl # sched: [6:0.50]
 ;
@@ -157,6 +164,7 @@ define i8 @test_aad(i16 %a0) optsize {
 ; SKX-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; SKX-NEXT:    #APP
 ; SKX-NEXT:    aad # sched: [100:0.25]
+; SKX-NEXT:    aad $16 # sched: [100:0.25]
 ; SKX-NEXT:    #NO_APP
 ; SKX-NEXT:    retl # sched: [6:0.50]
 ;
@@ -165,6 +173,7 @@ define i8 @test_aad(i16 %a0) optsize {
 ; BTVER2-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [4:1.00]
 ; BTVER2-NEXT:    #APP
 ; BTVER2-NEXT:    aad # sched: [100:0.50]
+; BTVER2-NEXT:    aad $16 # sched: [100:0.50]
 ; BTVER2-NEXT:    #NO_APP
 ; BTVER2-NEXT:    retl # sched: [4:1.00]
 ;
@@ -173,18 +182,20 @@ define i8 @test_aad(i16 %a0) optsize {
 ; ZNVER1-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [8:0.50]
 ; ZNVER1-NEXT:    #APP
 ; ZNVER1-NEXT:    aad # sched: [100:?]
+; ZNVER1-NEXT:    aad $16 # sched: [100:?]
 ; ZNVER1-NEXT:    #NO_APP
 ; ZNVER1-NEXT:    retl # sched: [1:0.50]
-  %1 = tail call i8 asm "aad", "=r,r"(i16 %a0) nounwind
-  ret i8 %1
+  tail call void asm "aad \0A\09 aad $1", "r,i"(i16 %a0, i16 16) nounwind
+  ret void
 }
 
-define i16 @test_aam(i8 %a0) optsize {
+define void @test_aam(i8 %a0) optsize {
 ; GENERIC-LABEL: test_aam:
 ; GENERIC:       # %bb.0:
 ; GENERIC-NEXT:    movb {{[0-9]+}}(%esp), %al
 ; GENERIC-NEXT:    #APP
 ; GENERIC-NEXT:    aam
+; GENERIC-NEXT:    aam $16
 ; GENERIC-NEXT:    #NO_APP
 ; GENERIC-NEXT:    retl
 ;
@@ -193,6 +204,7 @@ define i16 @test_aam(i8 %a0) optsize {
 ; ATOM-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [1:1.00]
 ; ATOM-NEXT:    #APP
 ; ATOM-NEXT:    aam # sched: [21:10.50]
+; ATOM-NEXT:    aam $16 # sched: [21:10.50]
 ; ATOM-NEXT:    #NO_APP
 ; ATOM-NEXT:    retl # sched: [79:39.50]
 ;
@@ -201,6 +213,7 @@ define i16 @test_aam(i8 %a0) optsize {
 ; SLM-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [3:1.00]
 ; SLM-NEXT:    #APP
 ; SLM-NEXT:    aam # sched: [100:1.00]
+; SLM-NEXT:    aam $16 # sched: [100:1.00]
 ; SLM-NEXT:    #NO_APP
 ; SLM-NEXT:    retl # sched: [4:1.00]
 ;
@@ -209,6 +222,7 @@ define i16 @test_aam(i8 %a0) optsize {
 ; SANDY-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [5:0.50]
 ; SANDY-NEXT:    #APP
 ; SANDY-NEXT:    aam # sched: [100:0.33]
+; SANDY-NEXT:    aam $16 # sched: [100:0.33]
 ; SANDY-NEXT:    #NO_APP
 ; SANDY-NEXT:    retl # sched: [6:1.00]
 ;
@@ -217,6 +231,7 @@ define i16 @test_aam(i8 %a0) optsize {
 ; HASWELL-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [5:0.50]
 ; HASWELL-NEXT:    #APP
 ; HASWELL-NEXT:    aam # sched: [100:0.25]
+; HASWELL-NEXT:    aam $16 # sched: [100:0.25]
 ; HASWELL-NEXT:    #NO_APP
 ; HASWELL-NEXT:    retl # sched: [7:1.00]
 ;
@@ -225,6 +240,7 @@ define i16 @test_aam(i8 %a0) optsize {
 ; BROADWELL-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [5:0.50]
 ; BROADWELL-NEXT:    #APP
 ; BROADWELL-NEXT:    aam # sched: [100:0.25]
+; BROADWELL-NEXT:    aam $16 # sched: [100:0.25]
 ; BROADWELL-NEXT:    #NO_APP
 ; BROADWELL-NEXT:    retl # sched: [6:0.50]
 ;
@@ -233,6 +249,7 @@ define i16 @test_aam(i8 %a0) optsize {
 ; SKYLAKE-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [5:0.50]
 ; SKYLAKE-NEXT:    #APP
 ; SKYLAKE-NEXT:    aam # sched: [100:0.25]
+; SKYLAKE-NEXT:    aam $16 # sched: [100:0.25]
 ; SKYLAKE-NEXT:    #NO_APP
 ; SKYLAKE-NEXT:    retl # sched: [6:0.50]
 ;
@@ -241,6 +258,7 @@ define i16 @test_aam(i8 %a0) optsize {
 ; SKX-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [5:0.50]
 ; SKX-NEXT:    #APP
 ; SKX-NEXT:    aam # sched: [100:0.25]
+; SKX-NEXT:    aam $16 # sched: [100:0.25]
 ; SKX-NEXT:    #NO_APP
 ; SKX-NEXT:    retl # sched: [6:0.50]
 ;
@@ -249,6 +267,7 @@ define i16 @test_aam(i8 %a0) optsize {
 ; BTVER2-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [5:1.00]
 ; BTVER2-NEXT:    #APP
 ; BTVER2-NEXT:    aam # sched: [100:0.50]
+; BTVER2-NEXT:    aam $16 # sched: [100:0.50]
 ; BTVER2-NEXT:    #NO_APP
 ; BTVER2-NEXT:    retl # sched: [4:1.00]
 ;
@@ -257,10 +276,11 @@ define i16 @test_aam(i8 %a0) optsize {
 ; ZNVER1-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [8:0.50]
 ; ZNVER1-NEXT:    #APP
 ; ZNVER1-NEXT:    aam # sched: [100:?]
+; ZNVER1-NEXT:    aam $16 # sched: [100:?]
 ; ZNVER1-NEXT:    #NO_APP
 ; ZNVER1-NEXT:    retl # sched: [1:0.50]
-  %1 = tail call i16 asm "aam", "=r,r"(i8 %a0) nounwind
-  ret i16 %1
+  tail call void asm "aam \0A\09 aam $1", "r,i"(i8 %a0, i8 16) nounwind
+  ret void
 }
 
 define i8 @test_aas(i8 %a0) optsize {
@@ -605,6 +625,8 @@ define void @test_bound(i16 %a0, i16 *%a
   ret void
 }
 
+; TODO - test_call
+
 define i8 @test_daa(i8 %a0) optsize {
 ; GENERIC-LABEL: test_daa:
 ; GENERIC:       # %bb.0:
@@ -1261,6 +1283,8 @@ define void @test_into() optsize {
   ret void
 }
 
+; TODO - test_jmp
+
 define void @test_jcxz_jecxz() optsize {
 ; GENERIC-LABEL: test_jcxz_jecxz:
 ; GENERIC:       # %bb.0:
@@ -1355,6 +1379,8 @@ define void @test_jcxz_jecxz() optsize {
   ret void
 }
 
+; TODO - test_lds
+
 define void @test_leave() optsize {
 ; GENERIC-LABEL: test_leave:
 ; GENERIC:       # %bb.0:
@@ -1429,6 +1455,8 @@ define void @test_leave() optsize {
   ret void
 }
 
+; TODO - test_les
+
 define void @test_pop_push() optsize {
 ; GENERIC-LABEL: test_pop_push:
 ; GENERIC:       # %bb.0:
@@ -2207,6 +2235,9 @@ define i8 @test_salc() optsize {
   ret i8 %1
 }
 
+; TODO - test_sgdt
+; TODO - test_sidt
+
 define void @test_xchg_32(i32 %a0, i32 %a1, i32 *%a2) optsize {
 ; GENERIC-LABEL: test_xchg_32:
 ; GENERIC:       # %bb.0:

Modified: llvm/trunk/test/CodeGen/X86/schedule-x86_64.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/schedule-x86_64.ll?rev=329626&r1=329625&r2=329626&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/schedule-x86_64.ll (original)
+++ llvm/trunk/test/CodeGen/X86/schedule-x86_64.ll Mon Apr  9 14:46:57 2018
@@ -13904,6 +13904,8 @@ define void @test_setcc(i8 %a0, i8 *%a1)
   ret void
 }
 
+; TODO - test_sgdt
+
 define void @test_shld_shrd_16(i16 %a0, i16 %a1, i16 *%a2) optsize {
 ; GENERIC-LABEL: test_shld_shrd_16:
 ; GENERIC:       # %bb.0:
@@ -14334,6 +14336,10 @@ define void @test_shld_shrd_64(i64 %a0,
   ret void
 }
 
+; TODO - test_sidt
+; TODO - test_sldt
+; TODO - test_smsw
+
 define void @test_stc_std() optsize {
 ; GENERIC-LABEL: test_stc_std:
 ; GENERIC:       # %bb.0:
@@ -14418,6 +14424,9 @@ define void @test_stc_std() optsize {
   ret void
 }
 
+; TODO - test_sti
+; TODO - test_stgi
+
 define void @test_stos() optsize {
 ; GENERIC-LABEL: test_stos:
 ; GENERIC:       # %bb.0:
@@ -14522,6 +14531,8 @@ define void @test_stos() optsize {
   ret void
 }
 
+; TODO - test_str
+
 define void @test_sub_8(i8 %a0, i8* %a1) optsize {
 ; GENERIC-LABEL: test_sub_8:
 ; GENERIC:       # %bb.0:
@@ -15165,6 +15176,12 @@ define void @test_sub_64(i64 %a0, i64* %
   ret void
 }
 
+; TODO - test_swapgs
+; TODO - test_syscall
+; TODO - test_sysenter
+; TODO - test_sysexit
+; TODO - test_sysret
+
 define void @test_test_8(i8 %a0, i8* %a1) optsize {
 ; GENERIC-LABEL: test_test_8:
 ; GENERIC:       # %bb.0:
@@ -15783,6 +15800,14 @@ define void @test_ud2() optsize {
   ret void
 }
 
+; TODO - test_verr
+; TODO - test_verw
+; TODO - test_vmload
+; TODO - test_vmmcall
+; TODO - test_vmrun
+; TODO - test_vmsave
+; TODO - test_wbinvd
+
 define void @test_xadd_8(i8 %a0, i8 %a1, i8 *%a2) optsize {
 ; GENERIC-LABEL: test_xadd_8:
 ; GENERIC:       # %bb.0:




More information about the llvm-commits mailing list