; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc < %s -mtriple=i686-unknown-unknown -print-schedule -mcpu=i686 | FileCheck %s --check-prefix=CHECK --check-prefix=GENERIC
; RUN: llc < %s -mtriple=i686-unknown-unknown -print-schedule -mcpu=atom | FileCheck %s --check-prefix=CHECK --check-prefix=ATOM
; RUN: llc < %s -mtriple=i686-unknown-unknown -print-schedule -mcpu=slm | FileCheck %s --check-prefix=CHECK --check-prefix=SLM
; RUN: llc < %s -mtriple=i686-unknown-unknown -print-schedule -mcpu=sandybridge | FileCheck %s --check-prefix=CHECK --check-prefix=SANDY
; RUN: llc < %s -mtriple=i686-unknown-unknown -print-schedule -mcpu=ivybridge | FileCheck %s --check-prefix=CHECK --check-prefix=SANDY
; RUN: llc < %s -mtriple=i686-unknown-unknown -print-schedule -mcpu=haswell | FileCheck %s --check-prefix=CHECK --check-prefix=HASWELL
; RUN: llc < %s -mtriple=i686-unknown-unknown -print-schedule -mcpu=broadwell | FileCheck %s --check-prefix=CHECK --check-prefix=BROADWELL
; RUN: llc < %s -mtriple=i686-unknown-unknown -print-schedule -mcpu=skylake | FileCheck %s --check-prefix=CHECK --check-prefix=SKYLAKE
; RUN: llc < %s -mtriple=i686-unknown-unknown -print-schedule -mcpu=skx | FileCheck %s --check-prefix=CHECK --check-prefix=SKX
; RUN: llc < %s -mtriple=i686-unknown-unknown -print-schedule -mcpu=btver2 | FileCheck %s --check-prefix=CHECK --check-prefix=BTVER2
; RUN: llc < %s -mtriple=i686-unknown-unknown -print-schedule -mcpu=znver1 | FileCheck %s --check-prefix=CHECK --check-prefix=ZNVER1

define i8 @test_aaa(i8 %a0) optsize {
; GENERIC-LABEL: test_aaa:
; GENERIC:       # %bb.0:
; GENERIC-NEXT:    movb {{[0-9]+}}(%esp), %al
; GENERIC-NEXT:    #APP
; GENERIC-NEXT:    aaa
; GENERIC-NEXT:    #NO_APP
; GENERIC-NEXT:    retl
;
; ATOM-LABEL: test_aaa:
; ATOM:       # %bb.0:
; ATOM-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [1:1.00]
; ATOM-NEXT:    #APP
; ATOM-NEXT:    aaa # sched: [13:6.50]
; ATOM-NEXT:    #NO_APP
; ATOM-NEXT:    retl # sched: [79:39.50]
;
; SLM-LABEL: test_aaa:
; SLM:       # %bb.0:
; SLM-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [3:1.00]
; SLM-NEXT:    #APP
; SLM-NEXT:    aaa # sched: [100:1.00]
; SLM-NEXT:    #NO_APP
; SLM-NEXT:    retl # sched: [4:1.00]
;
; SANDY-LABEL: test_aaa:
; SANDY:       # %bb.0:
; SANDY-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [5:0.50]
; SANDY-NEXT:    #APP
; SANDY-NEXT:    aaa # sched: [100:0.33]
; SANDY-NEXT:    #NO_APP
; SANDY-NEXT:    retl # sched: [6:1.00]
;
; HASWELL-LABEL: test_aaa:
; HASWELL:       # %bb.0:
; HASWELL-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [5:0.50]
; HASWELL-NEXT:    #APP
; HASWELL-NEXT:    aaa # sched: [100:0.25]
; HASWELL-NEXT:    #NO_APP
; HASWELL-NEXT:    retl # sched: [7:1.00]
;
; BROADWELL-LABEL: test_aaa:
; BROADWELL:       # %bb.0:
; BROADWELL-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [5:0.50]
; BROADWELL-NEXT:    #APP
; BROADWELL-NEXT:    aaa # sched: [100:0.25]
; BROADWELL-NEXT:    #NO_APP
; BROADWELL-NEXT:    retl # sched: [6:0.50]
;
; SKYLAKE-LABEL: test_aaa:
; SKYLAKE:       # %bb.0:
; SKYLAKE-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [5:0.50]
; SKYLAKE-NEXT:    #APP
; SKYLAKE-NEXT:    aaa # sched: [100:0.25]
; SKYLAKE-NEXT:    #NO_APP
; SKYLAKE-NEXT:    retl # sched: [6:0.50]
;
; SKX-LABEL: test_aaa:
; SKX:       # %bb.0:
; SKX-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [5:0.50]
; SKX-NEXT:    #APP
; SKX-NEXT:    aaa # sched: [100:0.25]
; SKX-NEXT:    #NO_APP
; SKX-NEXT:    retl # sched: [6:0.50]
;
; BTVER2-LABEL: test_aaa:
; BTVER2:       # %bb.0:
; BTVER2-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [5:1.00]
; BTVER2-NEXT:    #APP
; BTVER2-NEXT:    aaa # sched: [100:0.50]
; BTVER2-NEXT:    #NO_APP
; BTVER2-NEXT:    retl # sched: [4:1.00]
;
; ZNVER1-LABEL: test_aaa:
; ZNVER1:       # %bb.0:
; ZNVER1-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [8:0.50]
; ZNVER1-NEXT:    #APP
; ZNVER1-NEXT:    aaa # sched: [100:0.25]
; ZNVER1-NEXT:    #NO_APP
; ZNVER1-NEXT:    retl # sched: [1:0.50]
  %1 = tail call i8 asm "aaa", "=r,r"(i8 %a0) nounwind
  ret i8 %1
}

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
;
; ATOM-LABEL: test_aad:
; ATOM:       # %bb.0:
; 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]
;
; SLM-LABEL: test_aad:
; SLM:       # %bb.0:
; 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]
;
; SANDY-LABEL: test_aad:
; SANDY:       # %bb.0:
; 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]
;
; HASWELL-LABEL: test_aad:
; HASWELL:       # %bb.0:
; 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]
;
; BROADWELL-LABEL: test_aad:
; BROADWELL:       # %bb.0:
; 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]
;
; SKYLAKE-LABEL: test_aad:
; SKYLAKE:       # %bb.0:
; 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]
;
; SKX-LABEL: test_aad:
; SKX:       # %bb.0:
; 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]
;
; BTVER2-LABEL: test_aad:
; BTVER2:       # %bb.0:
; 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]
;
; ZNVER1-LABEL: test_aad:
; ZNVER1:       # %bb.0:
; ZNVER1-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [8:0.50]
; ZNVER1-NEXT:    #APP
; ZNVER1-NEXT:    aad # sched: [100:0.25]
; ZNVER1-NEXT:    aad $16 # sched: [100:0.25]
; ZNVER1-NEXT:    #NO_APP
; ZNVER1-NEXT:    retl # sched: [1:0.50]
  tail call void asm "aad \0A\09 aad $1", "r,i"(i16 %a0, i16 16) nounwind
  ret void
}

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
;
; ATOM-LABEL: test_aam:
; ATOM:       # %bb.0:
; 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]
;
; SLM-LABEL: test_aam:
; SLM:       # %bb.0:
; 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]
;
; SANDY-LABEL: test_aam:
; SANDY:       # %bb.0:
; 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]
;
; HASWELL-LABEL: test_aam:
; HASWELL:       # %bb.0:
; 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]
;
; BROADWELL-LABEL: test_aam:
; BROADWELL:       # %bb.0:
; 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]
;
; SKYLAKE-LABEL: test_aam:
; SKYLAKE:       # %bb.0:
; 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]
;
; SKX-LABEL: test_aam:
; SKX:       # %bb.0:
; 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]
;
; BTVER2-LABEL: test_aam:
; BTVER2:       # %bb.0:
; 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]
;
; ZNVER1-LABEL: test_aam:
; ZNVER1:       # %bb.0:
; ZNVER1-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [8:0.50]
; ZNVER1-NEXT:    #APP
; ZNVER1-NEXT:    aam # sched: [100:0.25]
; ZNVER1-NEXT:    aam $16 # sched: [100:0.25]
; ZNVER1-NEXT:    #NO_APP
; ZNVER1-NEXT:    retl # sched: [1:0.50]
  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 {
; GENERIC-LABEL: test_aas:
; GENERIC:       # %bb.0:
; GENERIC-NEXT:    movb {{[0-9]+}}(%esp), %al
; GENERIC-NEXT:    #APP
; GENERIC-NEXT:    aas
; GENERIC-NEXT:    #NO_APP
; GENERIC-NEXT:    retl
;
; ATOM-LABEL: test_aas:
; ATOM:       # %bb.0:
; ATOM-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [1:1.00]
; ATOM-NEXT:    #APP
; ATOM-NEXT:    aas # sched: [13:6.50]
; ATOM-NEXT:    #NO_APP
; ATOM-NEXT:    retl # sched: [79:39.50]
;
; SLM-LABEL: test_aas:
; SLM:       # %bb.0:
; SLM-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [3:1.00]
; SLM-NEXT:    #APP
; SLM-NEXT:    aas # sched: [100:1.00]
; SLM-NEXT:    #NO_APP
; SLM-NEXT:    retl # sched: [4:1.00]
;
; SANDY-LABEL: test_aas:
; SANDY:       # %bb.0:
; SANDY-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [5:0.50]
; SANDY-NEXT:    #APP
; SANDY-NEXT:    aas # sched: [100:0.33]
; SANDY-NEXT:    #NO_APP
; SANDY-NEXT:    retl # sched: [6:1.00]
;
; HASWELL-LABEL: test_aas:
; HASWELL:       # %bb.0:
; HASWELL-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [5:0.50]
; HASWELL-NEXT:    #APP
; HASWELL-NEXT:    aas # sched: [100:0.25]
; HASWELL-NEXT:    #NO_APP
; HASWELL-NEXT:    retl # sched: [7:1.00]
;
; BROADWELL-LABEL: test_aas:
; BROADWELL:       # %bb.0:
; BROADWELL-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [5:0.50]
; BROADWELL-NEXT:    #APP
; BROADWELL-NEXT:    aas # sched: [100:0.25]
; BROADWELL-NEXT:    #NO_APP
; BROADWELL-NEXT:    retl # sched: [6:0.50]
;
; SKYLAKE-LABEL: test_aas:
; SKYLAKE:       # %bb.0:
; SKYLAKE-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [5:0.50]
; SKYLAKE-NEXT:    #APP
; SKYLAKE-NEXT:    aas # sched: [100:0.25]
; SKYLAKE-NEXT:    #NO_APP
; SKYLAKE-NEXT:    retl # sched: [6:0.50]
;
; SKX-LABEL: test_aas:
; SKX:       # %bb.0:
; SKX-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [5:0.50]
; SKX-NEXT:    #APP
; SKX-NEXT:    aas # sched: [100:0.25]
; SKX-NEXT:    #NO_APP
; SKX-NEXT:    retl # sched: [6:0.50]
;
; BTVER2-LABEL: test_aas:
; BTVER2:       # %bb.0:
; BTVER2-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [5:1.00]
; BTVER2-NEXT:    #APP
; BTVER2-NEXT:    aas # sched: [100:0.50]
; BTVER2-NEXT:    #NO_APP
; BTVER2-NEXT:    retl # sched: [4:1.00]
;
; ZNVER1-LABEL: test_aas:
; ZNVER1:       # %bb.0:
; ZNVER1-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [8:0.50]
; ZNVER1-NEXT:    #APP
; ZNVER1-NEXT:    aas # sched: [100:0.25]
; ZNVER1-NEXT:    #NO_APP
; ZNVER1-NEXT:    retl # sched: [1:0.50]
  %1 = tail call i8 asm "aas", "=r,r"(i8 %a0) nounwind
  ret i8 %1
}

define void @test_arpl(i16 %a0, i16 *%a1) optsize {
; GENERIC-LABEL: test_arpl:
; GENERIC:       # %bb.0:
; GENERIC-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
; GENERIC-NEXT:    #APP
; GENERIC-NEXT:    arpl %ax, (%ecx)
; GENERIC-NEXT:    #NO_APP
; GENERIC-NEXT:    retl
;
; ATOM-LABEL: test_arpl:
; ATOM:       # %bb.0:
; ATOM-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [1:1.00]
; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [1:1.00]
; ATOM-NEXT:    #APP
; ATOM-NEXT:    arpl %ax, (%ecx) # sched: [23:11.50]
; ATOM-NEXT:    #NO_APP
; ATOM-NEXT:    retl # sched: [79:39.50]
;
; SLM-LABEL: test_arpl:
; SLM:       # %bb.0:
; SLM-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [4:1.00]
; SLM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [3:1.00]
; SLM-NEXT:    #APP
; SLM-NEXT:    arpl %ax, (%ecx) # sched: [100:1.00]
; SLM-NEXT:    #NO_APP
; SLM-NEXT:    retl # sched: [4:1.00]
;
; SANDY-LABEL: test_arpl:
; SANDY:       # %bb.0:
; SANDY-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; SANDY-NEXT:    #APP
; SANDY-NEXT:    arpl %ax, (%ecx) # sched: [100:0.33]
; SANDY-NEXT:    #NO_APP
; SANDY-NEXT:    retl # sched: [6:1.00]
;
; HASWELL-LABEL: test_arpl:
; HASWELL:       # %bb.0:
; HASWELL-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; HASWELL-NEXT:    #APP
; HASWELL-NEXT:    arpl %ax, (%ecx) # sched: [100:0.25]
; HASWELL-NEXT:    #NO_APP
; HASWELL-NEXT:    retl # sched: [7:1.00]
;
; BROADWELL-LABEL: test_arpl:
; BROADWELL:       # %bb.0:
; BROADWELL-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; BROADWELL-NEXT:    #APP
; BROADWELL-NEXT:    arpl %ax, (%ecx) # sched: [100:0.25]
; BROADWELL-NEXT:    #NO_APP
; BROADWELL-NEXT:    retl # sched: [6:0.50]
;
; SKYLAKE-LABEL: test_arpl:
; SKYLAKE:       # %bb.0:
; SKYLAKE-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; SKYLAKE-NEXT:    #APP
; SKYLAKE-NEXT:    arpl %ax, (%ecx) # sched: [100:0.25]
; SKYLAKE-NEXT:    #NO_APP
; SKYLAKE-NEXT:    retl # sched: [6:0.50]
;
; SKX-LABEL: test_arpl:
; SKX:       # %bb.0:
; SKX-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; SKX-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; SKX-NEXT:    #APP
; SKX-NEXT:    arpl %ax, (%ecx) # sched: [100:0.25]
; SKX-NEXT:    #NO_APP
; SKX-NEXT:    retl # sched: [6:0.50]
;
; BTVER2-LABEL: test_arpl:
; BTVER2:       # %bb.0:
; BTVER2-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [4:1.00]
; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:1.00]
; BTVER2-NEXT:    #APP
; BTVER2-NEXT:    arpl %ax, (%ecx) # sched: [100:0.50]
; BTVER2-NEXT:    #NO_APP
; BTVER2-NEXT:    retl # sched: [4:1.00]
;
; ZNVER1-LABEL: test_arpl:
; ZNVER1:       # %bb.0:
; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [8:0.50]
; ZNVER1-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [8:0.50]
; ZNVER1-NEXT:    #APP
; ZNVER1-NEXT:    arpl %ax, (%ecx) # sched: [100:0.25]
; ZNVER1-NEXT:    #NO_APP
; ZNVER1-NEXT:    retl # sched: [1:0.50]
  call void asm sideeffect "arpl $0, $1", "r,*m"(i16 %a0, i16 *%a1)
  ret void
}

define void @test_bound(i16 %a0, i16 *%a1, i32 %a2, i32 *%a3) optsize {
; GENERIC-LABEL: test_bound:
; GENERIC:       # %bb.0:
; GENERIC-NEXT:    pushl %esi
; GENERIC-NEXT:    .cfi_def_cfa_offset 8
; GENERIC-NEXT:    .cfi_offset %esi, -8
; GENERIC-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %edx
; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %esi
; GENERIC-NEXT:    #APP
; GENERIC-NEXT:    bound %ax, (%esi)
; GENERIC-NEXT:    bound %ecx, (%edx)
; GENERIC-NEXT:    #NO_APP
; GENERIC-NEXT:    popl %esi
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    retl
;
; ATOM-LABEL: test_bound:
; ATOM:       # %bb.0:
; ATOM-NEXT:    pushl %esi # sched: [1:1.00]
; ATOM-NEXT:    .cfi_def_cfa_offset 8
; ATOM-NEXT:    .cfi_offset %esi, -8
; ATOM-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [1:1.00]
; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [1:1.00]
; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [1:1.00]
; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %esi # sched: [1:1.00]
; ATOM-NEXT:    #APP
; ATOM-NEXT:    bound %ax, (%esi) # sched: [11:5.50]
; ATOM-NEXT:    bound %ecx, (%edx) # sched: [11:5.50]
; ATOM-NEXT:    #NO_APP
; ATOM-NEXT:    popl %esi # sched: [1:1.00]
; ATOM-NEXT:    .cfi_def_cfa_offset 4
; ATOM-NEXT:    retl # sched: [79:39.50]
;
; SLM-LABEL: test_bound:
; SLM:       # %bb.0:
; SLM-NEXT:    pushl %esi # sched: [1:1.00]
; SLM-NEXT:    .cfi_def_cfa_offset 8
; SLM-NEXT:    .cfi_offset %esi, -8
; SLM-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [4:1.00]
; SLM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [3:1.00]
; SLM-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [3:1.00]
; SLM-NEXT:    movl {{[0-9]+}}(%esp), %esi # sched: [3:1.00]
; SLM-NEXT:    #APP
; SLM-NEXT:    bound %ax, (%esi) # sched: [100:1.00]
; SLM-NEXT:    bound %ecx, (%edx) # sched: [100:1.00]
; SLM-NEXT:    #NO_APP
; SLM-NEXT:    popl %esi # sched: [3:1.00]
; SLM-NEXT:    .cfi_def_cfa_offset 4
; SLM-NEXT:    retl # sched: [4:1.00]
;
; SANDY-LABEL: test_bound:
; SANDY:       # %bb.0:
; SANDY-NEXT:    pushl %esi # sched: [5:1.00]
; SANDY-NEXT:    .cfi_def_cfa_offset 8
; SANDY-NEXT:    .cfi_offset %esi, -8
; SANDY-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [5:0.50]
; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %esi # sched: [5:0.50]
; SANDY-NEXT:    #APP
; SANDY-NEXT:    bound %ax, (%esi) # sched: [100:0.33]
; SANDY-NEXT:    bound %ecx, (%edx) # sched: [100:0.33]
; SANDY-NEXT:    #NO_APP
; SANDY-NEXT:    popl %esi # sched: [6:0.50]
; SANDY-NEXT:    .cfi_def_cfa_offset 4
; SANDY-NEXT:    retl # sched: [6:1.00]
;
; HASWELL-LABEL: test_bound:
; HASWELL:       # %bb.0:
; HASWELL-NEXT:    pushl %esi # sched: [2:1.00]
; HASWELL-NEXT:    .cfi_def_cfa_offset 8
; HASWELL-NEXT:    .cfi_offset %esi, -8
; HASWELL-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [5:0.50]
; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %esi # sched: [5:0.50]
; HASWELL-NEXT:    #APP
; HASWELL-NEXT:    bound %ax, (%esi) # sched: [1:3.75]
; HASWELL-NEXT:    bound %ecx, (%edx) # sched: [1:3.75]
; HASWELL-NEXT:    #NO_APP
; HASWELL-NEXT:    popl %esi # sched: [6:0.50]
; HASWELL-NEXT:    .cfi_def_cfa_offset 4
; HASWELL-NEXT:    retl # sched: [7:1.00]
;
; BROADWELL-LABEL: test_bound:
; BROADWELL:       # %bb.0:
; BROADWELL-NEXT:    pushl %esi # sched: [2:1.00]
; BROADWELL-NEXT:    .cfi_def_cfa_offset 8
; BROADWELL-NEXT:    .cfi_offset %esi, -8
; BROADWELL-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [5:0.50]
; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %esi # sched: [5:0.50]
; BROADWELL-NEXT:    #APP
; BROADWELL-NEXT:    bound %ax, (%esi) # sched: [100:0.25]
; BROADWELL-NEXT:    bound %ecx, (%edx) # sched: [100:0.25]
; BROADWELL-NEXT:    #NO_APP
; BROADWELL-NEXT:    popl %esi # sched: [6:0.50]
; BROADWELL-NEXT:    .cfi_def_cfa_offset 4
; BROADWELL-NEXT:    retl # sched: [6:0.50]
;
; SKYLAKE-LABEL: test_bound:
; SKYLAKE:       # %bb.0:
; SKYLAKE-NEXT:    pushl %esi # sched: [2:1.00]
; SKYLAKE-NEXT:    .cfi_def_cfa_offset 8
; SKYLAKE-NEXT:    .cfi_offset %esi, -8
; SKYLAKE-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [5:0.50]
; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %esi # sched: [5:0.50]
; SKYLAKE-NEXT:    #APP
; SKYLAKE-NEXT:    bound %ax, (%esi) # sched: [100:0.25]
; SKYLAKE-NEXT:    bound %ecx, (%edx) # sched: [100:0.25]
; SKYLAKE-NEXT:    #NO_APP
; SKYLAKE-NEXT:    popl %esi # sched: [6:0.50]
; SKYLAKE-NEXT:    .cfi_def_cfa_offset 4
; SKYLAKE-NEXT:    retl # sched: [6:0.50]
;
; SKX-LABEL: test_bound:
; SKX:       # %bb.0:
; SKX-NEXT:    pushl %esi # sched: [2:1.00]
; SKX-NEXT:    .cfi_def_cfa_offset 8
; SKX-NEXT:    .cfi_offset %esi, -8
; SKX-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; SKX-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; SKX-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [5:0.50]
; SKX-NEXT:    movl {{[0-9]+}}(%esp), %esi # sched: [5:0.50]
; SKX-NEXT:    #APP
; SKX-NEXT:    bound %ax, (%esi) # sched: [100:0.25]
; SKX-NEXT:    bound %ecx, (%edx) # sched: [100:0.25]
; SKX-NEXT:    #NO_APP
; SKX-NEXT:    popl %esi # sched: [6:0.50]
; SKX-NEXT:    .cfi_def_cfa_offset 4
; SKX-NEXT:    retl # sched: [6:0.50]
;
; BTVER2-LABEL: test_bound:
; BTVER2:       # %bb.0:
; BTVER2-NEXT:    pushl %esi # sched: [1:1.00]
; BTVER2-NEXT:    .cfi_def_cfa_offset 8
; BTVER2-NEXT:    .cfi_offset %esi, -8
; BTVER2-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [4:1.00]
; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:1.00]
; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [5:1.00]
; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %esi # sched: [5:1.00]
; BTVER2-NEXT:    #APP
; BTVER2-NEXT:    bound %ax, (%esi) # sched: [100:0.50]
; BTVER2-NEXT:    bound %ecx, (%edx) # sched: [100:0.50]
; BTVER2-NEXT:    #NO_APP
; BTVER2-NEXT:    popl %esi # sched: [5:1.00]
; BTVER2-NEXT:    .cfi_def_cfa_offset 4
; BTVER2-NEXT:    retl # sched: [4:1.00]
;
; ZNVER1-LABEL: test_bound:
; ZNVER1:       # %bb.0:
; ZNVER1-NEXT:    pushl %esi # sched: [1:0.50]
; ZNVER1-NEXT:    .cfi_def_cfa_offset 8
; ZNVER1-NEXT:    .cfi_offset %esi, -8
; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [8:0.50]
; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [8:0.50]
; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %esi # sched: [8:0.50]
; ZNVER1-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [8:0.50]
; ZNVER1-NEXT:    #APP
; ZNVER1-NEXT:    bound %ax, (%esi) # sched: [100:0.25]
; ZNVER1-NEXT:    bound %ecx, (%edx) # sched: [100:0.25]
; ZNVER1-NEXT:    #NO_APP
; ZNVER1-NEXT:    popl %esi # sched: [8:0.50]
; ZNVER1-NEXT:    .cfi_def_cfa_offset 4
; ZNVER1-NEXT:    retl # sched: [1:0.50]
  call void asm sideeffect "bound $0, $1 \0A\09 bound $2, $3", "r,*m,r,*m"(i16 %a0, i16 *%a1, i32 %a2, i32 *%a3)
  ret void
}

; TODO - test_call

define i8 @test_daa(i8 %a0) optsize {
; GENERIC-LABEL: test_daa:
; GENERIC:       # %bb.0:
; GENERIC-NEXT:    movb {{[0-9]+}}(%esp), %al
; GENERIC-NEXT:    #APP
; GENERIC-NEXT:    daa
; GENERIC-NEXT:    #NO_APP
; GENERIC-NEXT:    retl
;
; ATOM-LABEL: test_daa:
; ATOM:       # %bb.0:
; ATOM-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [1:1.00]
; ATOM-NEXT:    #APP
; ATOM-NEXT:    daa # sched: [18:9.00]
; ATOM-NEXT:    #NO_APP
; ATOM-NEXT:    retl # sched: [79:39.50]
;
; SLM-LABEL: test_daa:
; SLM:       # %bb.0:
; SLM-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [3:1.00]
; SLM-NEXT:    #APP
; SLM-NEXT:    daa # sched: [100:1.00]
; SLM-NEXT:    #NO_APP
; SLM-NEXT:    retl # sched: [4:1.00]
;
; SANDY-LABEL: test_daa:
; SANDY:       # %bb.0:
; SANDY-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [5:0.50]
; SANDY-NEXT:    #APP
; SANDY-NEXT:    daa # sched: [100:0.33]
; SANDY-NEXT:    #NO_APP
; SANDY-NEXT:    retl # sched: [6:1.00]
;
; HASWELL-LABEL: test_daa:
; HASWELL:       # %bb.0:
; HASWELL-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [5:0.50]
; HASWELL-NEXT:    #APP
; HASWELL-NEXT:    daa # sched: [100:0.25]
; HASWELL-NEXT:    #NO_APP
; HASWELL-NEXT:    retl # sched: [7:1.00]
;
; BROADWELL-LABEL: test_daa:
; BROADWELL:       # %bb.0:
; BROADWELL-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [5:0.50]
; BROADWELL-NEXT:    #APP
; BROADWELL-NEXT:    daa # sched: [100:0.25]
; BROADWELL-NEXT:    #NO_APP
; BROADWELL-NEXT:    retl # sched: [6:0.50]
;
; SKYLAKE-LABEL: test_daa:
; SKYLAKE:       # %bb.0:
; SKYLAKE-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [5:0.50]
; SKYLAKE-NEXT:    #APP
; SKYLAKE-NEXT:    daa # sched: [100:0.25]
; SKYLAKE-NEXT:    #NO_APP
; SKYLAKE-NEXT:    retl # sched: [6:0.50]
;
; SKX-LABEL: test_daa:
; SKX:       # %bb.0:
; SKX-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [5:0.50]
; SKX-NEXT:    #APP
; SKX-NEXT:    daa # sched: [100:0.25]
; SKX-NEXT:    #NO_APP
; SKX-NEXT:    retl # sched: [6:0.50]
;
; BTVER2-LABEL: test_daa:
; BTVER2:       # %bb.0:
; BTVER2-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [5:1.00]
; BTVER2-NEXT:    #APP
; BTVER2-NEXT:    daa # sched: [100:0.50]
; BTVER2-NEXT:    #NO_APP
; BTVER2-NEXT:    retl # sched: [4:1.00]
;
; ZNVER1-LABEL: test_daa:
; ZNVER1:       # %bb.0:
; ZNVER1-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [8:0.50]
; ZNVER1-NEXT:    #APP
; ZNVER1-NEXT:    daa # sched: [100:0.25]
; ZNVER1-NEXT:    #NO_APP
; ZNVER1-NEXT:    retl # sched: [1:0.50]
  %1 = tail call i8 asm "daa", "=r,r"(i8 %a0) nounwind
  ret i8 %1
}

define i8 @test_das(i8 %a0) optsize {
; GENERIC-LABEL: test_das:
; GENERIC:       # %bb.0:
; GENERIC-NEXT:    movb {{[0-9]+}}(%esp), %al
; GENERIC-NEXT:    #APP
; GENERIC-NEXT:    das
; GENERIC-NEXT:    #NO_APP
; GENERIC-NEXT:    retl
;
; ATOM-LABEL: test_das:
; ATOM:       # %bb.0:
; ATOM-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [1:1.00]
; ATOM-NEXT:    #APP
; ATOM-NEXT:    das # sched: [20:10.00]
; ATOM-NEXT:    #NO_APP
; ATOM-NEXT:    retl # sched: [79:39.50]
;
; SLM-LABEL: test_das:
; SLM:       # %bb.0:
; SLM-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [3:1.00]
; SLM-NEXT:    #APP
; SLM-NEXT:    das # sched: [100:1.00]
; SLM-NEXT:    #NO_APP
; SLM-NEXT:    retl # sched: [4:1.00]
;
; SANDY-LABEL: test_das:
; SANDY:       # %bb.0:
; SANDY-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [5:0.50]
; SANDY-NEXT:    #APP
; SANDY-NEXT:    das # sched: [100:0.33]
; SANDY-NEXT:    #NO_APP
; SANDY-NEXT:    retl # sched: [6:1.00]
;
; HASWELL-LABEL: test_das:
; HASWELL:       # %bb.0:
; HASWELL-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [5:0.50]
; HASWELL-NEXT:    #APP
; HASWELL-NEXT:    das # sched: [100:0.25]
; HASWELL-NEXT:    #NO_APP
; HASWELL-NEXT:    retl # sched: [7:1.00]
;
; BROADWELL-LABEL: test_das:
; BROADWELL:       # %bb.0:
; BROADWELL-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [5:0.50]
; BROADWELL-NEXT:    #APP
; BROADWELL-NEXT:    das # sched: [100:0.25]
; BROADWELL-NEXT:    #NO_APP
; BROADWELL-NEXT:    retl # sched: [6:0.50]
;
; SKYLAKE-LABEL: test_das:
; SKYLAKE:       # %bb.0:
; SKYLAKE-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [5:0.50]
; SKYLAKE-NEXT:    #APP
; SKYLAKE-NEXT:    das # sched: [100:0.25]
; SKYLAKE-NEXT:    #NO_APP
; SKYLAKE-NEXT:    retl # sched: [6:0.50]
;
; SKX-LABEL: test_das:
; SKX:       # %bb.0:
; SKX-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [5:0.50]
; SKX-NEXT:    #APP
; SKX-NEXT:    das # sched: [100:0.25]
; SKX-NEXT:    #NO_APP
; SKX-NEXT:    retl # sched: [6:0.50]
;
; BTVER2-LABEL: test_das:
; BTVER2:       # %bb.0:
; BTVER2-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [5:1.00]
; BTVER2-NEXT:    #APP
; BTVER2-NEXT:    das # sched: [100:0.50]
; BTVER2-NEXT:    #NO_APP
; BTVER2-NEXT:    retl # sched: [4:1.00]
;
; ZNVER1-LABEL: test_das:
; ZNVER1:       # %bb.0:
; ZNVER1-NEXT:    movb {{[0-9]+}}(%esp), %al # sched: [8:0.50]
; ZNVER1-NEXT:    #APP
; ZNVER1-NEXT:    das # sched: [100:0.25]
; ZNVER1-NEXT:    #NO_APP
; ZNVER1-NEXT:    retl # sched: [1:0.50]
  %1 = tail call i8 asm "das", "=r,r"(i8 %a0) nounwind
  ret i8 %1
}

define void @test_dec16(i16 %a0, i16* %a1) optsize {
; GENERIC-LABEL: test_dec16:
; GENERIC:       # %bb.0:
; GENERIC-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
; GENERIC-NEXT:    #APP
; GENERIC-NEXT:    decw %ax
; GENERIC-NEXT:    decw (%ecx)
; GENERIC-NEXT:    #NO_APP
; GENERIC-NEXT:    retl
;
; ATOM-LABEL: test_dec16:
; ATOM:       # %bb.0:
; ATOM-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [1:1.00]
; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [1:1.00]
; ATOM-NEXT:    #APP
; ATOM-NEXT:    decw %ax # sched: [1:0.50]
; ATOM-NEXT:    decw (%ecx) # sched: [1:1.00]
; ATOM-NEXT:    #NO_APP
; ATOM-NEXT:    retl # sched: [79:39.50]
;
; SLM-LABEL: test_dec16:
; SLM:       # %bb.0:
; SLM-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [4:1.00]
; SLM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [3:1.00]
; SLM-NEXT:    #APP
; SLM-NEXT:    decw %ax # sched: [1:0.50]
; SLM-NEXT:    decw (%ecx) # sched: [5:2.00]
; SLM-NEXT:    #NO_APP
; SLM-NEXT:    retl # sched: [4:1.00]
;
; SANDY-LABEL: test_dec16:
; SANDY:       # %bb.0:
; SANDY-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; SANDY-NEXT:    #APP
; SANDY-NEXT:    decw %ax # sched: [1:0.33]
; SANDY-NEXT:    decw (%ecx) # sched: [7:1.00]
; SANDY-NEXT:    #NO_APP
; SANDY-NEXT:    retl # sched: [6:1.00]
;
; HASWELL-LABEL: test_dec16:
; HASWELL:       # %bb.0:
; HASWELL-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; HASWELL-NEXT:    #APP
; HASWELL-NEXT:    decw %ax # sched: [1:0.25]
; HASWELL-NEXT:    decw (%ecx) # sched: [7:1.00]
; HASWELL-NEXT:    #NO_APP
; HASWELL-NEXT:    retl # sched: [7:1.00]
;
; BROADWELL-LABEL: test_dec16:
; BROADWELL:       # %bb.0:
; BROADWELL-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; BROADWELL-NEXT:    #APP
; BROADWELL-NEXT:    decw %ax # sched: [1:0.25]
; BROADWELL-NEXT:    decw (%ecx) # sched: [7:1.00]
; BROADWELL-NEXT:    #NO_APP
; BROADWELL-NEXT:    retl # sched: [6:0.50]
;
; SKYLAKE-LABEL: test_dec16:
; SKYLAKE:       # %bb.0:
; SKYLAKE-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; SKYLAKE-NEXT:    #APP
; SKYLAKE-NEXT:    decw %ax # sched: [1:0.25]
; SKYLAKE-NEXT:    decw (%ecx) # sched: [7:1.00]
; SKYLAKE-NEXT:    #NO_APP
; SKYLAKE-NEXT:    retl # sched: [6:0.50]
;
; SKX-LABEL: test_dec16:
; SKX:       # %bb.0:
; SKX-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; SKX-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; SKX-NEXT:    #APP
; SKX-NEXT:    decw %ax # sched: [1:0.25]
; SKX-NEXT:    decw (%ecx) # sched: [7:1.00]
; SKX-NEXT:    #NO_APP
; SKX-NEXT:    retl # sched: [6:0.50]
;
; BTVER2-LABEL: test_dec16:
; BTVER2:       # %bb.0:
; BTVER2-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [4:1.00]
; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:1.00]
; BTVER2-NEXT:    #APP
; BTVER2-NEXT:    decw %ax # sched: [1:0.50]
; BTVER2-NEXT:    decw (%ecx) # sched: [5:1.00]
; BTVER2-NEXT:    #NO_APP
; BTVER2-NEXT:    retl # sched: [4:1.00]
;
; ZNVER1-LABEL: test_dec16:
; ZNVER1:       # %bb.0:
; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [8:0.50]
; ZNVER1-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [8:0.50]
; ZNVER1-NEXT:    #APP
; ZNVER1-NEXT:    decw %ax # sched: [1:0.25]
; ZNVER1-NEXT:    decw (%ecx) # sched: [5:0.50]
; ZNVER1-NEXT:    #NO_APP
; ZNVER1-NEXT:    retl # sched: [1:0.50]
  tail call void asm "decw $0 \0A\09 decw $1", "r,*m"(i16 %a0, i16* %a1) nounwind
  ret void
}
define void @test_dec32(i32 %a0, i32* %a1) optsize {
; GENERIC-LABEL: test_dec32:
; GENERIC:       # %bb.0:
; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
; GENERIC-NEXT:    #APP
; GENERIC-NEXT:    decl %eax
; GENERIC-NEXT:    decl (%ecx)
; GENERIC-NEXT:    #NO_APP
; GENERIC-NEXT:    retl
;
; ATOM-LABEL: test_dec32:
; ATOM:       # %bb.0:
; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [1:1.00]
; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [1:1.00]
; ATOM-NEXT:    #APP
; ATOM-NEXT:    decl %eax # sched: [1:0.50]
; ATOM-NEXT:    decl (%ecx) # sched: [1:1.00]
; ATOM-NEXT:    #NO_APP
; ATOM-NEXT:    retl # sched: [79:39.50]
;
; SLM-LABEL: test_dec32:
; SLM:       # %bb.0:
; SLM-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [3:1.00]
; SLM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [3:1.00]
; SLM-NEXT:    #APP
; SLM-NEXT:    decl %eax # sched: [1:0.50]
; SLM-NEXT:    decl (%ecx) # sched: [5:2.00]
; SLM-NEXT:    #NO_APP
; SLM-NEXT:    retl # sched: [4:1.00]
;
; SANDY-LABEL: test_dec32:
; SANDY:       # %bb.0:
; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; SANDY-NEXT:    #APP
; SANDY-NEXT:    decl %eax # sched: [1:0.33]
; SANDY-NEXT:    decl (%ecx) # sched: [7:1.00]
; SANDY-NEXT:    #NO_APP
; SANDY-NEXT:    retl # sched: [6:1.00]
;
; HASWELL-LABEL: test_dec32:
; HASWELL:       # %bb.0:
; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; HASWELL-NEXT:    #APP
; HASWELL-NEXT:    decl %eax # sched: [1:0.25]
; HASWELL-NEXT:    decl (%ecx) # sched: [7:1.00]
; HASWELL-NEXT:    #NO_APP
; HASWELL-NEXT:    retl # sched: [7:1.00]
;
; BROADWELL-LABEL: test_dec32:
; BROADWELL:       # %bb.0:
; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; BROADWELL-NEXT:    #APP
; BROADWELL-NEXT:    decl %eax # sched: [1:0.25]
; BROADWELL-NEXT:    decl (%ecx) # sched: [7:1.00]
; BROADWELL-NEXT:    #NO_APP
; BROADWELL-NEXT:    retl # sched: [6:0.50]
;
; SKYLAKE-LABEL: test_dec32:
; SKYLAKE:       # %bb.0:
; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; SKYLAKE-NEXT:    #APP
; SKYLAKE-NEXT:    decl %eax # sched: [1:0.25]
; SKYLAKE-NEXT:    decl (%ecx) # sched: [7:1.00]
; SKYLAKE-NEXT:    #NO_APP
; SKYLAKE-NEXT:    retl # sched: [6:0.50]
;
; SKX-LABEL: test_dec32:
; SKX:       # %bb.0:
; SKX-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; SKX-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; SKX-NEXT:    #APP
; SKX-NEXT:    decl %eax # sched: [1:0.25]
; SKX-NEXT:    decl (%ecx) # sched: [7:1.00]
; SKX-NEXT:    #NO_APP
; SKX-NEXT:    retl # sched: [6:0.50]
;
; BTVER2-LABEL: test_dec32:
; BTVER2:       # %bb.0:
; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:1.00]
; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:1.00]
; BTVER2-NEXT:    #APP
; BTVER2-NEXT:    decl %eax # sched: [1:0.50]
; BTVER2-NEXT:    decl (%ecx) # sched: [5:1.00]
; BTVER2-NEXT:    #NO_APP
; BTVER2-NEXT:    retl # sched: [4:1.00]
;
; ZNVER1-LABEL: test_dec32:
; ZNVER1:       # %bb.0:
; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [8:0.50]
; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [8:0.50]
; ZNVER1-NEXT:    #APP
; ZNVER1-NEXT:    decl %eax # sched: [1:0.25]
; ZNVER1-NEXT:    decl (%ecx) # sched: [5:0.50]
; ZNVER1-NEXT:    #NO_APP
; ZNVER1-NEXT:    retl # sched: [1:0.50]
  tail call void asm "decl $0 \0A\09 decl $1", "r,*m"(i32 %a0, i32* %a1) nounwind
  ret void
}

define void @test_inc16(i16 %a0, i16* %a1) optsize {
; GENERIC-LABEL: test_inc16:
; GENERIC:       # %bb.0:
; GENERIC-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
; GENERIC-NEXT:    #APP
; GENERIC-NEXT:    incw %ax
; GENERIC-NEXT:    incw (%ecx)
; GENERIC-NEXT:    #NO_APP
; GENERIC-NEXT:    retl
;
; ATOM-LABEL: test_inc16:
; ATOM:       # %bb.0:
; ATOM-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [1:1.00]
; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [1:1.00]
; ATOM-NEXT:    #APP
; ATOM-NEXT:    incw %ax # sched: [1:0.50]
; ATOM-NEXT:    incw (%ecx) # sched: [1:1.00]
; ATOM-NEXT:    #NO_APP
; ATOM-NEXT:    retl # sched: [79:39.50]
;
; SLM-LABEL: test_inc16:
; SLM:       # %bb.0:
; SLM-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [4:1.00]
; SLM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [3:1.00]
; SLM-NEXT:    #APP
; SLM-NEXT:    incw %ax # sched: [1:0.50]
; SLM-NEXT:    incw (%ecx) # sched: [5:2.00]
; SLM-NEXT:    #NO_APP
; SLM-NEXT:    retl # sched: [4:1.00]
;
; SANDY-LABEL: test_inc16:
; SANDY:       # %bb.0:
; SANDY-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; SANDY-NEXT:    #APP
; SANDY-NEXT:    incw %ax # sched: [1:0.33]
; SANDY-NEXT:    incw (%ecx) # sched: [7:1.00]
; SANDY-NEXT:    #NO_APP
; SANDY-NEXT:    retl # sched: [6:1.00]
;
; HASWELL-LABEL: test_inc16:
; HASWELL:       # %bb.0:
; HASWELL-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; HASWELL-NEXT:    #APP
; HASWELL-NEXT:    incw %ax # sched: [1:0.25]
; HASWELL-NEXT:    incw (%ecx) # sched: [7:1.00]
; HASWELL-NEXT:    #NO_APP
; HASWELL-NEXT:    retl # sched: [7:1.00]
;
; BROADWELL-LABEL: test_inc16:
; BROADWELL:       # %bb.0:
; BROADWELL-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; BROADWELL-NEXT:    #APP
; BROADWELL-NEXT:    incw %ax # sched: [1:0.25]
; BROADWELL-NEXT:    incw (%ecx) # sched: [7:1.00]
; BROADWELL-NEXT:    #NO_APP
; BROADWELL-NEXT:    retl # sched: [6:0.50]
;
; SKYLAKE-LABEL: test_inc16:
; SKYLAKE:       # %bb.0:
; SKYLAKE-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; SKYLAKE-NEXT:    #APP
; SKYLAKE-NEXT:    incw %ax # sched: [1:0.25]
; SKYLAKE-NEXT:    incw (%ecx) # sched: [7:1.00]
; SKYLAKE-NEXT:    #NO_APP
; SKYLAKE-NEXT:    retl # sched: [6:0.50]
;
; SKX-LABEL: test_inc16:
; SKX:       # %bb.0:
; SKX-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; SKX-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; SKX-NEXT:    #APP
; SKX-NEXT:    incw %ax # sched: [1:0.25]
; SKX-NEXT:    incw (%ecx) # sched: [7:1.00]
; SKX-NEXT:    #NO_APP
; SKX-NEXT:    retl # sched: [6:0.50]
;
; BTVER2-LABEL: test_inc16:
; BTVER2:       # %bb.0:
; BTVER2-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [4:1.00]
; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:1.00]
; BTVER2-NEXT:    #APP
; BTVER2-NEXT:    incw %ax # sched: [1:0.50]
; BTVER2-NEXT:    incw (%ecx) # sched: [5:1.00]
; BTVER2-NEXT:    #NO_APP
; BTVER2-NEXT:    retl # sched: [4:1.00]
;
; ZNVER1-LABEL: test_inc16:
; ZNVER1:       # %bb.0:
; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [8:0.50]
; ZNVER1-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [8:0.50]
; ZNVER1-NEXT:    #APP
; ZNVER1-NEXT:    incw %ax # sched: [1:0.25]
; ZNVER1-NEXT:    incw (%ecx) # sched: [5:0.50]
; ZNVER1-NEXT:    #NO_APP
; ZNVER1-NEXT:    retl # sched: [1:0.50]
  tail call void asm "incw $0 \0A\09 incw $1", "r,*m"(i16 %a0, i16* %a1) nounwind
  ret void
}
define void @test_inc32(i32 %a0, i32* %a1) optsize {
; GENERIC-LABEL: test_inc32:
; GENERIC:       # %bb.0:
; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
; GENERIC-NEXT:    #APP
; GENERIC-NEXT:    incl %eax
; GENERIC-NEXT:    incl (%ecx)
; GENERIC-NEXT:    #NO_APP
; GENERIC-NEXT:    retl
;
; ATOM-LABEL: test_inc32:
; ATOM:       # %bb.0:
; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [1:1.00]
; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [1:1.00]
; ATOM-NEXT:    #APP
; ATOM-NEXT:    incl %eax # sched: [1:0.50]
; ATOM-NEXT:    incl (%ecx) # sched: [1:1.00]
; ATOM-NEXT:    #NO_APP
; ATOM-NEXT:    retl # sched: [79:39.50]
;
; SLM-LABEL: test_inc32:
; SLM:       # %bb.0:
; SLM-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [3:1.00]
; SLM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [3:1.00]
; SLM-NEXT:    #APP
; SLM-NEXT:    incl %eax # sched: [1:0.50]
; SLM-NEXT:    incl (%ecx) # sched: [5:2.00]
; SLM-NEXT:    #NO_APP
; SLM-NEXT:    retl # sched: [4:1.00]
;
; SANDY-LABEL: test_inc32:
; SANDY:       # %bb.0:
; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; SANDY-NEXT:    #APP
; SANDY-NEXT:    incl %eax # sched: [1:0.33]
; SANDY-NEXT:    incl (%ecx) # sched: [7:1.00]
; SANDY-NEXT:    #NO_APP
; SANDY-NEXT:    retl # sched: [6:1.00]
;
; HASWELL-LABEL: test_inc32:
; HASWELL:       # %bb.0:
; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; HASWELL-NEXT:    #APP
; HASWELL-NEXT:    incl %eax # sched: [1:0.25]
; HASWELL-NEXT:    incl (%ecx) # sched: [7:1.00]
; HASWELL-NEXT:    #NO_APP
; HASWELL-NEXT:    retl # sched: [7:1.00]
;
; BROADWELL-LABEL: test_inc32:
; BROADWELL:       # %bb.0:
; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; BROADWELL-NEXT:    #APP
; BROADWELL-NEXT:    incl %eax # sched: [1:0.25]
; BROADWELL-NEXT:    incl (%ecx) # sched: [7:1.00]
; BROADWELL-NEXT:    #NO_APP
; BROADWELL-NEXT:    retl # sched: [6:0.50]
;
; SKYLAKE-LABEL: test_inc32:
; SKYLAKE:       # %bb.0:
; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; SKYLAKE-NEXT:    #APP
; SKYLAKE-NEXT:    incl %eax # sched: [1:0.25]
; SKYLAKE-NEXT:    incl (%ecx) # sched: [7:1.00]
; SKYLAKE-NEXT:    #NO_APP
; SKYLAKE-NEXT:    retl # sched: [6:0.50]
;
; SKX-LABEL: test_inc32:
; SKX:       # %bb.0:
; SKX-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; SKX-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; SKX-NEXT:    #APP
; SKX-NEXT:    incl %eax # sched: [1:0.25]
; SKX-NEXT:    incl (%ecx) # sched: [7:1.00]
; SKX-NEXT:    #NO_APP
; SKX-NEXT:    retl # sched: [6:0.50]
;
; BTVER2-LABEL: test_inc32:
; BTVER2:       # %bb.0:
; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:1.00]
; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:1.00]
; BTVER2-NEXT:    #APP
; BTVER2-NEXT:    incl %eax # sched: [1:0.50]
; BTVER2-NEXT:    incl (%ecx) # sched: [5:1.00]
; BTVER2-NEXT:    #NO_APP
; BTVER2-NEXT:    retl # sched: [4:1.00]
;
; ZNVER1-LABEL: test_inc32:
; ZNVER1:       # %bb.0:
; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [8:0.50]
; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [8:0.50]
; ZNVER1-NEXT:    #APP
; ZNVER1-NEXT:    incl %eax # sched: [1:0.25]
; ZNVER1-NEXT:    incl (%ecx) # sched: [5:0.50]
; ZNVER1-NEXT:    #NO_APP
; ZNVER1-NEXT:    retl # sched: [1:0.50]
  tail call void asm "incl $0 \0A\09 incl $1", "r,*m"(i32 %a0, i32* %a1) nounwind
  ret void
}

define void @test_into() optsize {
; GENERIC-LABEL: test_into:
; GENERIC:       # %bb.0:
; GENERIC-NEXT:    #APP
; GENERIC-NEXT:    into
; GENERIC-NEXT:    #NO_APP
; GENERIC-NEXT:    retl
;
; ATOM-LABEL: test_into:
; ATOM:       # %bb.0:
; ATOM-NEXT:    #APP
; ATOM-NEXT:    into # sched: [6:3.00]
; ATOM-NEXT:    #NO_APP
; ATOM-NEXT:    retl # sched: [79:39.50]
;
; SLM-LABEL: test_into:
; SLM:       # %bb.0:
; SLM-NEXT:    #APP
; SLM-NEXT:    into # sched: [100:1.00]
; SLM-NEXT:    #NO_APP
; SLM-NEXT:    retl # sched: [4:1.00]
;
; SANDY-LABEL: test_into:
; SANDY:       # %bb.0:
; SANDY-NEXT:    #APP
; SANDY-NEXT:    into # sched: [100:0.33]
; SANDY-NEXT:    #NO_APP
; SANDY-NEXT:    retl # sched: [6:1.00]
;
; HASWELL-LABEL: test_into:
; HASWELL:       # %bb.0:
; HASWELL-NEXT:    #APP
; HASWELL-NEXT:    into # sched: [1:1.00]
; HASWELL-NEXT:    #NO_APP
; HASWELL-NEXT:    retl # sched: [7:1.00]
;
; BROADWELL-LABEL: test_into:
; BROADWELL:       # %bb.0:
; BROADWELL-NEXT:    #APP
; BROADWELL-NEXT:    into # sched: [100:0.25]
; BROADWELL-NEXT:    #NO_APP
; BROADWELL-NEXT:    retl # sched: [6:0.50]
;
; SKYLAKE-LABEL: test_into:
; SKYLAKE:       # %bb.0:
; SKYLAKE-NEXT:    #APP
; SKYLAKE-NEXT:    into # sched: [100:0.25]
; SKYLAKE-NEXT:    #NO_APP
; SKYLAKE-NEXT:    retl # sched: [6:0.50]
;
; SKX-LABEL: test_into:
; SKX:       # %bb.0:
; SKX-NEXT:    #APP
; SKX-NEXT:    into # sched: [100:0.25]
; SKX-NEXT:    #NO_APP
; SKX-NEXT:    retl # sched: [6:0.50]
;
; BTVER2-LABEL: test_into:
; BTVER2:       # %bb.0:
; BTVER2-NEXT:    #APP
; BTVER2-NEXT:    into # sched: [100:0.50]
; BTVER2-NEXT:    #NO_APP
; BTVER2-NEXT:    retl # sched: [4:1.00]
;
; ZNVER1-LABEL: test_into:
; ZNVER1:       # %bb.0:
; ZNVER1-NEXT:    #APP
; ZNVER1-NEXT:    into # sched: [100:0.25]
; ZNVER1-NEXT:    #NO_APP
; ZNVER1-NEXT:    retl # sched: [1:0.50]
  call void asm sideeffect "into", ""()
  ret void
}

; TODO - test_jmp

define void @test_jcxz_jecxz() optsize {
; GENERIC-LABEL: test_jcxz_jecxz:
; GENERIC:       # %bb.0:
; GENERIC-NEXT:    #APP
; GENERIC-NEXT:  JXTGT:
; GENERIC-NEXT:    jcxz JXTGT
; GENERIC-NEXT:    jecxz JXTGT
; GENERIC-NEXT:    #NO_APP
; GENERIC-NEXT:    retl
;
; ATOM-LABEL: test_jcxz_jecxz:
; ATOM:       # %bb.0:
; ATOM-NEXT:    #APP
; ATOM-NEXT:  JXTGT:
; ATOM-NEXT:    jcxz JXTGT # sched: [4:2.00]
; ATOM-NEXT:    jecxz JXTGT # sched: [4:2.00]
; ATOM-NEXT:    #NO_APP
; ATOM-NEXT:    retl # sched: [79:39.50]
;
; SLM-LABEL: test_jcxz_jecxz:
; SLM:       # %bb.0:
; SLM-NEXT:    #APP
; SLM-NEXT:  JXTGT:
; SLM-NEXT:    jcxz JXTGT # sched: [1:1.00]
; SLM-NEXT:    jecxz JXTGT # sched: [1:1.00]
; SLM-NEXT:    #NO_APP
; SLM-NEXT:    retl # sched: [4:1.00]
;
; SANDY-LABEL: test_jcxz_jecxz:
; SANDY:       # %bb.0:
; SANDY-NEXT:    #APP
; SANDY-NEXT:  JXTGT:
; SANDY-NEXT:    jcxz JXTGT # sched: [2:1.00]
; SANDY-NEXT:    jecxz JXTGT # sched: [2:1.00]
; SANDY-NEXT:    #NO_APP
; SANDY-NEXT:    retl # sched: [6:1.00]
;
; HASWELL-LABEL: test_jcxz_jecxz:
; HASWELL:       # %bb.0:
; HASWELL-NEXT:    #APP
; HASWELL-NEXT:  JXTGT:
; HASWELL-NEXT:    jcxz JXTGT # sched: [2:0.50]
; HASWELL-NEXT:    jecxz JXTGT # sched: [2:0.50]
; HASWELL-NEXT:    #NO_APP
; HASWELL-NEXT:    retl # sched: [7:1.00]
;
; BROADWELL-LABEL: test_jcxz_jecxz:
; BROADWELL:       # %bb.0:
; BROADWELL-NEXT:    #APP
; BROADWELL-NEXT:  JXTGT:
; BROADWELL-NEXT:    jcxz JXTGT # sched: [2:0.50]
; BROADWELL-NEXT:    jecxz JXTGT # sched: [2:0.50]
; BROADWELL-NEXT:    #NO_APP
; BROADWELL-NEXT:    retl # sched: [6:0.50]
;
; SKYLAKE-LABEL: test_jcxz_jecxz:
; SKYLAKE:       # %bb.0:
; SKYLAKE-NEXT:    #APP
; SKYLAKE-NEXT:  JXTGT:
; SKYLAKE-NEXT:    jcxz JXTGT # sched: [2:0.50]
; SKYLAKE-NEXT:    jecxz JXTGT # sched: [2:0.50]
; SKYLAKE-NEXT:    #NO_APP
; SKYLAKE-NEXT:    retl # sched: [6:0.50]
;
; SKX-LABEL: test_jcxz_jecxz:
; SKX:       # %bb.0:
; SKX-NEXT:    #APP
; SKX-NEXT:  JXTGT:
; SKX-NEXT:    jcxz JXTGT # sched: [2:0.50]
; SKX-NEXT:    jecxz JXTGT # sched: [2:0.50]
; SKX-NEXT:    #NO_APP
; SKX-NEXT:    retl # sched: [6:0.50]
;
; BTVER2-LABEL: test_jcxz_jecxz:
; BTVER2:       # %bb.0:
; BTVER2-NEXT:    #APP
; BTVER2-NEXT:  JXTGT:
; BTVER2-NEXT:    jcxz JXTGT # sched: [1:0.50]
; BTVER2-NEXT:    jecxz JXTGT # sched: [1:0.50]
; BTVER2-NEXT:    #NO_APP
; BTVER2-NEXT:    retl # sched: [4:1.00]
;
; ZNVER1-LABEL: test_jcxz_jecxz:
; ZNVER1:       # %bb.0:
; ZNVER1-NEXT:    #APP
; ZNVER1-NEXT:  JXTGT:
; ZNVER1-NEXT:    jcxz JXTGT # sched: [1:0.50]
; ZNVER1-NEXT:    jecxz JXTGT # sched: [1:0.50]
; ZNVER1-NEXT:    #NO_APP
; ZNVER1-NEXT:    retl # sched: [1:0.50]
  call void asm sideeffect "JXTGT: \0A\09 jcxz JXTGT \0A\09 jecxz JXTGT", ""()
  ret void
}

; TODO - test_lds

define void @test_leave() optsize {
; GENERIC-LABEL: test_leave:
; GENERIC:       # %bb.0:
; GENERIC-NEXT:    #APP
; GENERIC-NEXT:    leave
; GENERIC-NEXT:    #NO_APP
; GENERIC-NEXT:    retl
;
; ATOM-LABEL: test_leave:
; ATOM:       # %bb.0:
; ATOM-NEXT:    #APP
; ATOM-NEXT:    leave # sched: [2:1.00]
; ATOM-NEXT:    #NO_APP
; ATOM-NEXT:    retl # sched: [79:39.50]
;
; SLM-LABEL: test_leave:
; SLM:       # %bb.0:
; SLM-NEXT:    #APP
; SLM-NEXT:    leave # sched: [1:0.50]
; SLM-NEXT:    #NO_APP
; SLM-NEXT:    retl # sched: [4:1.00]
;
; SANDY-LABEL: test_leave:
; SANDY:       # %bb.0:
; SANDY-NEXT:    #APP
; SANDY-NEXT:    leave # sched: [7:0.67]
; SANDY-NEXT:    #NO_APP
; SANDY-NEXT:    retl # sched: [6:1.00]
;
; HASWELL-LABEL: test_leave:
; HASWELL:       # %bb.0:
; HASWELL-NEXT:    #APP
; HASWELL-NEXT:    leave # sched: [7:0.50]
; HASWELL-NEXT:    #NO_APP
; HASWELL-NEXT:    retl # sched: [7:1.00]
;
; BROADWELL-LABEL: test_leave:
; BROADWELL:       # %bb.0:
; BROADWELL-NEXT:    #APP
; BROADWELL-NEXT:    leave # sched: [7:0.50]
; BROADWELL-NEXT:    #NO_APP
; BROADWELL-NEXT:    retl # sched: [6:0.50]
;
; SKYLAKE-LABEL: test_leave:
; SKYLAKE:       # %bb.0:
; SKYLAKE-NEXT:    #APP
; SKYLAKE-NEXT:    leave # sched: [7:0.50]
; SKYLAKE-NEXT:    #NO_APP
; SKYLAKE-NEXT:    retl # sched: [6:0.50]
;
; SKX-LABEL: test_leave:
; SKX:       # %bb.0:
; SKX-NEXT:    #APP
; SKX-NEXT:    leave # sched: [7:0.50]
; SKX-NEXT:    #NO_APP
; SKX-NEXT:    retl # sched: [6:0.50]
;
; BTVER2-LABEL: test_leave:
; BTVER2:       # %bb.0:
; BTVER2-NEXT:    #APP
; BTVER2-NEXT:    leave # sched: [1:0.50]
; BTVER2-NEXT:    #NO_APP
; BTVER2-NEXT:    retl # sched: [4:1.00]
;
; ZNVER1-LABEL: test_leave:
; ZNVER1:       # %bb.0:
; ZNVER1-NEXT:    #APP
; ZNVER1-NEXT:    leave # sched: [8:0.50]
; ZNVER1-NEXT:    #NO_APP
; ZNVER1-NEXT:    retl # sched: [1:0.50]
  tail call void asm "leave", ""() nounwind
  ret void
}

; TODO - test_les

define void @test_pop_push() optsize {
; GENERIC-LABEL: test_pop_push:
; GENERIC:       # %bb.0:
; GENERIC-NEXT:    #APP
; GENERIC-NEXT:    popl %ds
; GENERIC-NEXT:    popl %es
; GENERIC-NEXT:    popl %ss
; GENERIC-NEXT:    popl %fs
; GENERIC-NEXT:    popl %gs
; GENERIC-NEXT:    pushl %cs
; GENERIC-NEXT:    pushl %ds
; GENERIC-NEXT:    pushl %es
; GENERIC-NEXT:    pushl %ss
; GENERIC-NEXT:    pushl %fs
; GENERIC-NEXT:    pushl %gs
; GENERIC-NEXT:    #NO_APP
; GENERIC-NEXT:    retl
;
; ATOM-LABEL: test_pop_push:
; ATOM:       # %bb.0:
; ATOM-NEXT:    #APP
; ATOM-NEXT:    popl %ds # sched: [29:14.50]
; ATOM-NEXT:    popl %es # sched: [29:14.50]
; ATOM-NEXT:    popl %ss # sched: [48:24.00]
; ATOM-NEXT:    popl %fs # sched: [29:14.50]
; ATOM-NEXT:    popl %gs # sched: [29:14.50]
; ATOM-NEXT:    pushl %cs # sched: [2:1.00]
; ATOM-NEXT:    pushl %ds # sched: [2:1.00]
; ATOM-NEXT:    pushl %es # sched: [2:1.00]
; ATOM-NEXT:    pushl %ss # sched: [2:1.00]
; ATOM-NEXT:    pushl %fs # sched: [2:1.00]
; ATOM-NEXT:    pushl %gs # sched: [2:1.00]
; ATOM-NEXT:    #NO_APP
; ATOM-NEXT:    retl # sched: [79:39.50]
;
; SLM-LABEL: test_pop_push:
; SLM:       # %bb.0:
; SLM-NEXT:    #APP
; SLM-NEXT:    popl %ds # sched: [100:1.00]
; SLM-NEXT:    popl %es # sched: [100:1.00]
; SLM-NEXT:    popl %ss # sched: [100:1.00]
; SLM-NEXT:    popl %fs # sched: [100:1.00]
; SLM-NEXT:    popl %gs # sched: [100:1.00]
; SLM-NEXT:    pushl %cs # sched: [100:1.00]
; SLM-NEXT:    pushl %ds # sched: [100:1.00]
; SLM-NEXT:    pushl %es # sched: [100:1.00]
; SLM-NEXT:    pushl %ss # sched: [100:1.00]
; SLM-NEXT:    pushl %fs # sched: [100:1.00]
; SLM-NEXT:    pushl %gs # sched: [100:1.00]
; SLM-NEXT:    #NO_APP
; SLM-NEXT:    retl # sched: [4:1.00]
;
; SANDY-LABEL: test_pop_push:
; SANDY:       # %bb.0:
; SANDY-NEXT:    #APP
; SANDY-NEXT:    popl %ds # sched: [100:0.33]
; SANDY-NEXT:    popl %es # sched: [100:0.33]
; SANDY-NEXT:    popl %ss # sched: [100:0.33]
; SANDY-NEXT:    popl %fs # sched: [100:0.33]
; SANDY-NEXT:    popl %gs # sched: [100:0.33]
; SANDY-NEXT:    pushl %cs # sched: [100:0.33]
; SANDY-NEXT:    pushl %ds # sched: [100:0.33]
; SANDY-NEXT:    pushl %es # sched: [100:0.33]
; SANDY-NEXT:    pushl %ss # sched: [100:0.33]
; SANDY-NEXT:    pushl %fs # sched: [100:0.33]
; SANDY-NEXT:    pushl %gs # sched: [100:0.33]
; SANDY-NEXT:    #NO_APP
; SANDY-NEXT:    retl # sched: [6:1.00]
;
; HASWELL-LABEL: test_pop_push:
; HASWELL:       # %bb.0:
; HASWELL-NEXT:    #APP
; HASWELL-NEXT:    popl %ds # sched: [100:0.25]
; HASWELL-NEXT:    popl %es # sched: [100:0.25]
; HASWELL-NEXT:    popl %ss # sched: [100:0.25]
; HASWELL-NEXT:    popl %fs # sched: [100:0.25]
; HASWELL-NEXT:    popl %gs # sched: [100:0.25]
; HASWELL-NEXT:    pushl %cs # sched: [100:0.25]
; HASWELL-NEXT:    pushl %ds # sched: [100:0.25]
; HASWELL-NEXT:    pushl %es # sched: [100:0.25]
; HASWELL-NEXT:    pushl %ss # sched: [100:0.25]
; HASWELL-NEXT:    pushl %fs # sched: [100:0.25]
; HASWELL-NEXT:    pushl %gs # sched: [100:0.25]
; HASWELL-NEXT:    #NO_APP
; HASWELL-NEXT:    retl # sched: [7:1.00]
;
; BROADWELL-LABEL: test_pop_push:
; BROADWELL:       # %bb.0:
; BROADWELL-NEXT:    #APP
; BROADWELL-NEXT:    popl %ds # sched: [100:0.25]
; BROADWELL-NEXT:    popl %es # sched: [100:0.25]
; BROADWELL-NEXT:    popl %ss # sched: [100:0.25]
; BROADWELL-NEXT:    popl %fs # sched: [100:0.25]
; BROADWELL-NEXT:    popl %gs # sched: [100:0.25]
; BROADWELL-NEXT:    pushl %cs # sched: [100:0.25]
; BROADWELL-NEXT:    pushl %ds # sched: [100:0.25]
; BROADWELL-NEXT:    pushl %es # sched: [100:0.25]
; BROADWELL-NEXT:    pushl %ss # sched: [100:0.25]
; BROADWELL-NEXT:    pushl %fs # sched: [100:0.25]
; BROADWELL-NEXT:    pushl %gs # sched: [100:0.25]
; BROADWELL-NEXT:    #NO_APP
; BROADWELL-NEXT:    retl # sched: [6:0.50]
;
; SKYLAKE-LABEL: test_pop_push:
; SKYLAKE:       # %bb.0:
; SKYLAKE-NEXT:    #APP
; SKYLAKE-NEXT:    popl %ds # sched: [100:0.25]
; SKYLAKE-NEXT:    popl %es # sched: [100:0.25]
; SKYLAKE-NEXT:    popl %ss # sched: [100:0.25]
; SKYLAKE-NEXT:    popl %fs # sched: [100:0.25]
; SKYLAKE-NEXT:    popl %gs # sched: [100:0.25]
; SKYLAKE-NEXT:    pushl %cs # sched: [100:0.25]
; SKYLAKE-NEXT:    pushl %ds # sched: [100:0.25]
; SKYLAKE-NEXT:    pushl %es # sched: [100:0.25]
; SKYLAKE-NEXT:    pushl %ss # sched: [100:0.25]
; SKYLAKE-NEXT:    pushl %fs # sched: [100:0.25]
; SKYLAKE-NEXT:    pushl %gs # sched: [100:0.25]
; SKYLAKE-NEXT:    #NO_APP
; SKYLAKE-NEXT:    retl # sched: [6:0.50]
;
; SKX-LABEL: test_pop_push:
; SKX:       # %bb.0:
; SKX-NEXT:    #APP
; SKX-NEXT:    popl %ds # sched: [100:0.25]
; SKX-NEXT:    popl %es # sched: [100:0.25]
; SKX-NEXT:    popl %ss # sched: [100:0.25]
; SKX-NEXT:    popl %fs # sched: [100:0.25]
; SKX-NEXT:    popl %gs # sched: [100:0.25]
; SKX-NEXT:    pushl %cs # sched: [100:0.25]
; SKX-NEXT:    pushl %ds # sched: [100:0.25]
; SKX-NEXT:    pushl %es # sched: [100:0.25]
; SKX-NEXT:    pushl %ss # sched: [100:0.25]
; SKX-NEXT:    pushl %fs # sched: [100:0.25]
; SKX-NEXT:    pushl %gs # sched: [100:0.25]
; SKX-NEXT:    #NO_APP
; SKX-NEXT:    retl # sched: [6:0.50]
;
; BTVER2-LABEL: test_pop_push:
; BTVER2:       # %bb.0:
; BTVER2-NEXT:    #APP
; BTVER2-NEXT:    popl %ds # sched: [100:0.50]
; BTVER2-NEXT:    popl %es # sched: [100:0.50]
; BTVER2-NEXT:    popl %ss # sched: [100:0.50]
; BTVER2-NEXT:    popl %fs # sched: [100:0.50]
; BTVER2-NEXT:    popl %gs # sched: [100:0.50]
; BTVER2-NEXT:    pushl %cs # sched: [100:0.50]
; BTVER2-NEXT:    pushl %ds # sched: [100:0.50]
; BTVER2-NEXT:    pushl %es # sched: [100:0.50]
; BTVER2-NEXT:    pushl %ss # sched: [100:0.50]
; BTVER2-NEXT:    pushl %fs # sched: [100:0.50]
; BTVER2-NEXT:    pushl %gs # sched: [100:0.50]
; BTVER2-NEXT:    #NO_APP
; BTVER2-NEXT:    retl # sched: [4:1.00]
;
; ZNVER1-LABEL: test_pop_push:
; ZNVER1:       # %bb.0:
; ZNVER1-NEXT:    #APP
; ZNVER1-NEXT:    popl %ds # sched: [100:0.25]
; ZNVER1-NEXT:    popl %es # sched: [100:0.25]
; ZNVER1-NEXT:    popl %ss # sched: [100:0.25]
; ZNVER1-NEXT:    popl %fs # sched: [100:0.25]
; ZNVER1-NEXT:    popl %gs # sched: [100:0.25]
; ZNVER1-NEXT:    pushl %cs # sched: [100:0.25]
; ZNVER1-NEXT:    pushl %ds # sched: [100:0.25]
; ZNVER1-NEXT:    pushl %es # sched: [100:0.25]
; ZNVER1-NEXT:    pushl %ss # sched: [100:0.25]
; ZNVER1-NEXT:    pushl %fs # sched: [100:0.25]
; ZNVER1-NEXT:    pushl %gs # sched: [100:0.25]
; ZNVER1-NEXT:    #NO_APP
; ZNVER1-NEXT:    retl # sched: [1:0.50]
  call void asm sideeffect "pop %DS \0A\09 pop %ES \0A\09 pop %SS \0A\09 pop %FS \0A\09 pop %GS \0A\09 push %CS \0A\09 push %DS \0A\09 push %ES \0A\09 push %SS \0A\09 push %FS \0A\09 push %GS", ""()
  ret void
}
define i16 @test_pop_push_16(i16 %a0, i16 *%a1) optsize {
; GENERIC-LABEL: test_pop_push_16:
; GENERIC:       # %bb.0:
; GENERIC-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
; GENERIC-NEXT:    #APP
; GENERIC-NEXT:    popw %ax
; GENERIC-NEXT:    popw (%ecx)
; GENERIC-NEXT:    pushw %ax
; GENERIC-NEXT:    pushw (%ecx)
; GENERIC-NEXT:    pushw $4095 # imm = 0xFFF
; GENERIC-NEXT:    pushw $7
; GENERIC-NEXT:    #NO_APP
; GENERIC-NEXT:    retl
;
; ATOM-LABEL: test_pop_push_16:
; ATOM:       # %bb.0:
; ATOM-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [1:1.00]
; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [1:1.00]
; ATOM-NEXT:    #APP
; ATOM-NEXT:    popw %ax # sched: [2:1.00]
; ATOM-NEXT:    popw (%ecx) # sched: [3:1.50]
; ATOM-NEXT:    pushw %ax # sched: [1:1.00]
; ATOM-NEXT:    pushw (%ecx) # sched: [2:1.00]
; ATOM-NEXT:    pushw $4095 # imm = 0xFFF
; ATOM-NEXT:    # sched: [1:1.00]
; ATOM-NEXT:    pushw $7 # sched: [1:1.00]
; ATOM-NEXT:    #NO_APP
; ATOM-NEXT:    retl # sched: [79:39.50]
;
; SLM-LABEL: test_pop_push_16:
; SLM:       # %bb.0:
; SLM-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [4:1.00]
; SLM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [3:1.00]
; SLM-NEXT:    #APP
; SLM-NEXT:    popw %ax # sched: [3:1.00]
; SLM-NEXT:    popw (%ecx) # sched: [1:1.00]
; SLM-NEXT:    pushw %ax # sched: [1:1.00]
; SLM-NEXT:    pushw (%ecx) # sched: [1:1.00]
; SLM-NEXT:    pushw $4095 # imm = 0xFFF
; SLM-NEXT:    # sched: [1:1.00]
; SLM-NEXT:    pushw $7 # sched: [1:1.00]
; SLM-NEXT:    #NO_APP
; SLM-NEXT:    retl # sched: [4:1.00]
;
; SANDY-LABEL: test_pop_push_16:
; SANDY:       # %bb.0:
; SANDY-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; SANDY-NEXT:    #APP
; SANDY-NEXT:    popw %ax # sched: [6:0.50]
; SANDY-NEXT:    popw (%ecx) # sched: [6:0.50]
; SANDY-NEXT:    pushw %ax # sched: [5:1.00]
; SANDY-NEXT:    pushw (%ecx) # sched: [5:1.00]
; SANDY-NEXT:    pushw $4095 # imm = 0xFFF
; SANDY-NEXT:    # sched: [1:1.00]
; SANDY-NEXT:    pushw $7 # sched: [1:1.00]
; SANDY-NEXT:    #NO_APP
; SANDY-NEXT:    retl # sched: [6:1.00]
;
; HASWELL-LABEL: test_pop_push_16:
; HASWELL:       # %bb.0:
; HASWELL-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; HASWELL-NEXT:    #APP
; HASWELL-NEXT:    popw %ax # sched: [6:0.50]
; HASWELL-NEXT:    popw (%ecx) # sched: [7:1.00]
; HASWELL-NEXT:    pushw %ax # sched: [2:1.00]
; HASWELL-NEXT:    pushw (%ecx) # sched: [7:1.00]
; HASWELL-NEXT:    pushw $4095 # imm = 0xFFF
; HASWELL-NEXT:    # sched: [1:1.00]
; HASWELL-NEXT:    pushw $7 # sched: [1:1.00]
; HASWELL-NEXT:    #NO_APP
; HASWELL-NEXT:    retl # sched: [7:1.00]
;
; BROADWELL-LABEL: test_pop_push_16:
; BROADWELL:       # %bb.0:
; BROADWELL-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; BROADWELL-NEXT:    #APP
; BROADWELL-NEXT:    popw %ax # sched: [6:0.50]
; BROADWELL-NEXT:    popw (%ecx) # sched: [6:1.00]
; BROADWELL-NEXT:    pushw %ax # sched: [2:1.00]
; BROADWELL-NEXT:    pushw (%ecx) # sched: [6:1.00]
; BROADWELL-NEXT:    pushw $4095 # imm = 0xFFF
; BROADWELL-NEXT:    # sched: [1:1.00]
; BROADWELL-NEXT:    pushw $7 # sched: [1:1.00]
; BROADWELL-NEXT:    #NO_APP
; BROADWELL-NEXT:    retl # sched: [6:0.50]
;
; SKYLAKE-LABEL: test_pop_push_16:
; SKYLAKE:       # %bb.0:
; SKYLAKE-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; SKYLAKE-NEXT:    #APP
; SKYLAKE-NEXT:    popw %ax # sched: [6:0.50]
; SKYLAKE-NEXT:    popw (%ecx) # sched: [6:1.00]
; SKYLAKE-NEXT:    pushw %ax # sched: [2:1.00]
; SKYLAKE-NEXT:    pushw (%ecx) # sched: [6:1.00]
; SKYLAKE-NEXT:    pushw $4095 # imm = 0xFFF
; SKYLAKE-NEXT:    # sched: [1:1.00]
; SKYLAKE-NEXT:    pushw $7 # sched: [1:1.00]
; SKYLAKE-NEXT:    #NO_APP
; SKYLAKE-NEXT:    retl # sched: [6:0.50]
;
; SKX-LABEL: test_pop_push_16:
; SKX:       # %bb.0:
; SKX-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; SKX-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; SKX-NEXT:    #APP
; SKX-NEXT:    popw %ax # sched: [6:0.50]
; SKX-NEXT:    popw (%ecx) # sched: [6:1.00]
; SKX-NEXT:    pushw %ax # sched: [2:1.00]
; SKX-NEXT:    pushw (%ecx) # sched: [6:1.00]
; SKX-NEXT:    pushw $4095 # imm = 0xFFF
; SKX-NEXT:    # sched: [1:1.00]
; SKX-NEXT:    pushw $7 # sched: [1:1.00]
; SKX-NEXT:    #NO_APP
; SKX-NEXT:    retl # sched: [6:0.50]
;
; BTVER2-LABEL: test_pop_push_16:
; BTVER2:       # %bb.0:
; BTVER2-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [4:1.00]
; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:1.00]
; BTVER2-NEXT:    #APP
; BTVER2-NEXT:    popw %ax # sched: [5:1.00]
; BTVER2-NEXT:    popw (%ecx) # sched: [1:1.00]
; BTVER2-NEXT:    pushw %ax # sched: [1:1.00]
; BTVER2-NEXT:    pushw (%ecx) # sched: [1:1.00]
; BTVER2-NEXT:    pushw $4095 # imm = 0xFFF
; BTVER2-NEXT:    # sched: [1:1.00]
; BTVER2-NEXT:    pushw $7 # sched: [1:1.00]
; BTVER2-NEXT:    #NO_APP
; BTVER2-NEXT:    retl # sched: [4:1.00]
;
; ZNVER1-LABEL: test_pop_push_16:
; ZNVER1:       # %bb.0:
; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [8:0.50]
; ZNVER1-NEXT:    movzwl {{[0-9]+}}(%esp), %eax # sched: [8:0.50]
; ZNVER1-NEXT:    #APP
; ZNVER1-NEXT:    popw %ax # sched: [8:0.50]
; ZNVER1-NEXT:    popw (%ecx) # sched: [5:0.50]
; ZNVER1-NEXT:    pushw %ax # sched: [1:0.50]
; ZNVER1-NEXT:    pushw (%ecx) # sched: [4:0.50]
; ZNVER1-NEXT:    pushw $4095 # imm = 0xFFF
; ZNVER1-NEXT:    # sched: [1:0.50]
; ZNVER1-NEXT:    pushw $7 # sched: [1:0.50]
; ZNVER1-NEXT:    #NO_APP
; ZNVER1-NEXT:    retl # sched: [1:0.50]
  %1 = call i16 asm sideeffect "popw $0 \0A\09 popw $2 \0A\09 pushw $1 \0A\09 pushw $2 \0A\09 pushw $3 \0A\09 pushw $4", "=r,r,*m,i,i"(i16 %a0, i16 *%a1, i16 4095, i8 7)
  ret i16 %1
}
define i32 @test_pop_push_32(i32 %a0, i32 *%a1) optsize {
; GENERIC-LABEL: test_pop_push_32:
; GENERIC:       # %bb.0:
; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
; GENERIC-NEXT:    #APP
; GENERIC-NEXT:    popl %eax
; GENERIC-NEXT:    popl (%ecx)
; GENERIC-NEXT:    pushl %eax
; GENERIC-NEXT:    pushl (%ecx)
; GENERIC-NEXT:    pushl $4095 # imm = 0xFFF
; GENERIC-NEXT:    pushl $7
; GENERIC-NEXT:    #NO_APP
; GENERIC-NEXT:    retl
;
; ATOM-LABEL: test_pop_push_32:
; ATOM:       # %bb.0:
; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [1:1.00]
; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [1:1.00]
; ATOM-NEXT:    #APP
; ATOM-NEXT:    popl %eax # sched: [1:1.00]
; ATOM-NEXT:    popl (%ecx) # sched: [3:1.50]
; ATOM-NEXT:    pushl %eax # sched: [1:1.00]
; ATOM-NEXT:    pushl (%ecx) # sched: [2:1.00]
; ATOM-NEXT:    pushl $4095 # imm = 0xFFF
; ATOM-NEXT:    # sched: [1:1.00]
; ATOM-NEXT:    pushl $7 # sched: [1:1.00]
; ATOM-NEXT:    #NO_APP
; ATOM-NEXT:    retl # sched: [79:39.50]
;
; SLM-LABEL: test_pop_push_32:
; SLM:       # %bb.0:
; SLM-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [3:1.00]
; SLM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [3:1.00]
; SLM-NEXT:    #APP
; SLM-NEXT:    popl %eax # sched: [3:1.00]
; SLM-NEXT:    popl (%ecx) # sched: [1:1.00]
; SLM-NEXT:    pushl %eax # sched: [1:1.00]
; SLM-NEXT:    pushl (%ecx) # sched: [1:1.00]
; SLM-NEXT:    pushl $4095 # imm = 0xFFF
; SLM-NEXT:    # sched: [1:1.00]
; SLM-NEXT:    pushl $7 # sched: [1:1.00]
; SLM-NEXT:    #NO_APP
; SLM-NEXT:    retl # sched: [4:1.00]
;
; SANDY-LABEL: test_pop_push_32:
; SANDY:       # %bb.0:
; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; SANDY-NEXT:    #APP
; SANDY-NEXT:    popl %eax # sched: [6:0.50]
; SANDY-NEXT:    popl (%ecx) # sched: [6:0.50]
; SANDY-NEXT:    pushl %eax # sched: [5:1.00]
; SANDY-NEXT:    pushl (%ecx) # sched: [5:1.00]
; SANDY-NEXT:    pushl $4095 # imm = 0xFFF
; SANDY-NEXT:    # sched: [1:1.00]
; SANDY-NEXT:    pushl $7 # sched: [1:1.00]
; SANDY-NEXT:    #NO_APP
; SANDY-NEXT:    retl # sched: [6:1.00]
;
; HASWELL-LABEL: test_pop_push_32:
; HASWELL:       # %bb.0:
; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; HASWELL-NEXT:    #APP
; HASWELL-NEXT:    popl %eax # sched: [6:0.50]
; HASWELL-NEXT:    popl (%ecx) # sched: [7:1.00]
; HASWELL-NEXT:    pushl %eax # sched: [2:1.00]
; HASWELL-NEXT:    pushl (%ecx) # sched: [7:1.00]
; HASWELL-NEXT:    pushl $4095 # imm = 0xFFF
; HASWELL-NEXT:    # sched: [1:1.00]
; HASWELL-NEXT:    pushl $7 # sched: [1:1.00]
; HASWELL-NEXT:    #NO_APP
; HASWELL-NEXT:    retl # sched: [7:1.00]
;
; BROADWELL-LABEL: test_pop_push_32:
; BROADWELL:       # %bb.0:
; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; BROADWELL-NEXT:    #APP
; BROADWELL-NEXT:    popl %eax # sched: [6:0.50]
; BROADWELL-NEXT:    popl (%ecx) # sched: [6:1.00]
; BROADWELL-NEXT:    pushl %eax # sched: [2:1.00]
; BROADWELL-NEXT:    pushl (%ecx) # sched: [6:1.00]
; BROADWELL-NEXT:    pushl $4095 # imm = 0xFFF
; BROADWELL-NEXT:    # sched: [1:1.00]
; BROADWELL-NEXT:    pushl $7 # sched: [1:1.00]
; BROADWELL-NEXT:    #NO_APP
; BROADWELL-NEXT:    retl # sched: [6:0.50]
;
; SKYLAKE-LABEL: test_pop_push_32:
; SKYLAKE:       # %bb.0:
; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; SKYLAKE-NEXT:    #APP
; SKYLAKE-NEXT:    popl %eax # sched: [6:0.50]
; SKYLAKE-NEXT:    popl (%ecx) # sched: [6:1.00]
; SKYLAKE-NEXT:    pushl %eax # sched: [2:1.00]
; SKYLAKE-NEXT:    pushl (%ecx) # sched: [6:1.00]
; SKYLAKE-NEXT:    pushl $4095 # imm = 0xFFF
; SKYLAKE-NEXT:    # sched: [1:1.00]
; SKYLAKE-NEXT:    pushl $7 # sched: [1:1.00]
; SKYLAKE-NEXT:    #NO_APP
; SKYLAKE-NEXT:    retl # sched: [6:0.50]
;
; SKX-LABEL: test_pop_push_32:
; SKX:       # %bb.0:
; SKX-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; SKX-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; SKX-NEXT:    #APP
; SKX-NEXT:    popl %eax # sched: [6:0.50]
; SKX-NEXT:    popl (%ecx) # sched: [6:1.00]
; SKX-NEXT:    pushl %eax # sched: [2:1.00]
; SKX-NEXT:    pushl (%ecx) # sched: [6:1.00]
; SKX-NEXT:    pushl $4095 # imm = 0xFFF
; SKX-NEXT:    # sched: [1:1.00]
; SKX-NEXT:    pushl $7 # sched: [1:1.00]
; SKX-NEXT:    #NO_APP
; SKX-NEXT:    retl # sched: [6:0.50]
;
; BTVER2-LABEL: test_pop_push_32:
; BTVER2:       # %bb.0:
; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:1.00]
; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:1.00]
; BTVER2-NEXT:    #APP
; BTVER2-NEXT:    popl %eax # sched: [5:1.00]
; BTVER2-NEXT:    popl (%ecx) # sched: [1:1.00]
; BTVER2-NEXT:    pushl %eax # sched: [1:1.00]
; BTVER2-NEXT:    pushl (%ecx) # sched: [1:1.00]
; BTVER2-NEXT:    pushl $4095 # imm = 0xFFF
; BTVER2-NEXT:    # sched: [1:1.00]
; BTVER2-NEXT:    pushl $7 # sched: [1:1.00]
; BTVER2-NEXT:    #NO_APP
; BTVER2-NEXT:    retl # sched: [4:1.00]
;
; ZNVER1-LABEL: test_pop_push_32:
; ZNVER1:       # %bb.0:
; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [8:0.50]
; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [8:0.50]
; ZNVER1-NEXT:    #APP
; ZNVER1-NEXT:    popl %eax # sched: [8:0.50]
; ZNVER1-NEXT:    popl (%ecx) # sched: [1:0.50]
; ZNVER1-NEXT:    pushl %eax # sched: [1:0.50]
; ZNVER1-NEXT:    pushl (%ecx) # sched: [4:0.50]
; ZNVER1-NEXT:    pushl $4095 # imm = 0xFFF
; ZNVER1-NEXT:    # sched: [1:0.50]
; ZNVER1-NEXT:    pushl $7 # sched: [1:0.50]
; ZNVER1-NEXT:    #NO_APP
; ZNVER1-NEXT:    retl # sched: [1:0.50]
  %1 = call i32 asm sideeffect "popl $0 \0A\09 popl $2 \0A\09 pushl $1 \0A\09 pushl $2 \0A\09 pushl $3 \0A\09 pushl $4", "=r,r,*m,i,i"(i32 %a0, i32 *%a1, i32 4095, i8 7)
  ret i32 %1
}

define void @test_popa_popf_pusha_pushf() optsize {
; GENERIC-LABEL: test_popa_popf_pusha_pushf:
; GENERIC:       # %bb.0:
; GENERIC-NEXT:    #APP
; GENERIC-NEXT:    popal
; GENERIC-NEXT:    popfl
; GENERIC-NEXT:    pushal
; GENERIC-NEXT:    pushfl
; GENERIC-NEXT:    #NO_APP
; GENERIC-NEXT:    retl
;
; ATOM-LABEL: test_popa_popf_pusha_pushf:
; ATOM:       # %bb.0:
; ATOM-NEXT:    #APP
; ATOM-NEXT:    popal # sched: [9:4.50]
; ATOM-NEXT:    popfl # sched: [26:13.00]
; ATOM-NEXT:    pushal # sched: [8:4.00]
; ATOM-NEXT:    pushfl # sched: [9:4.50]
; ATOM-NEXT:    #NO_APP
; ATOM-NEXT:    retl # sched: [79:39.50]
;
; SLM-LABEL: test_popa_popf_pusha_pushf:
; SLM:       # %bb.0:
; SLM-NEXT:    #APP
; SLM-NEXT:    popal # sched: [3:1.00]
; SLM-NEXT:    popfl # sched: [3:1.00]
; SLM-NEXT:    pushal # sched: [1:1.00]
; SLM-NEXT:    pushfl # sched: [1:1.00]
; SLM-NEXT:    #NO_APP
; SLM-NEXT:    retl # sched: [4:1.00]
;
; SANDY-LABEL: test_popa_popf_pusha_pushf:
; SANDY:       # %bb.0:
; SANDY-NEXT:    #APP
; SANDY-NEXT:    popal # sched: [5:0.50]
; SANDY-NEXT:    popfl # sched: [5:0.50]
; SANDY-NEXT:    pushal # sched: [1:1.00]
; SANDY-NEXT:    pushfl # sched: [1:1.00]
; SANDY-NEXT:    #NO_APP
; SANDY-NEXT:    retl # sched: [6:1.00]
;
; HASWELL-LABEL: test_popa_popf_pusha_pushf:
; HASWELL:       # %bb.0:
; HASWELL-NEXT:    #APP
; HASWELL-NEXT:    popal # sched: [1:4.50]
; HASWELL-NEXT:    popfl # sched: [5:0.50]
; HASWELL-NEXT:    pushal # sched: [1:4.75]
; HASWELL-NEXT:    pushfl # sched: [1:1.00]
; HASWELL-NEXT:    #NO_APP
; HASWELL-NEXT:    retl # sched: [7:1.00]
;
; BROADWELL-LABEL: test_popa_popf_pusha_pushf:
; BROADWELL:       # %bb.0:
; BROADWELL-NEXT:    #APP
; BROADWELL-NEXT:    popal # sched: [5:0.50]
; BROADWELL-NEXT:    popfl # sched: [5:0.50]
; BROADWELL-NEXT:    pushal # sched: [1:1.00]
; BROADWELL-NEXT:    pushfl # sched: [1:1.00]
; BROADWELL-NEXT:    #NO_APP
; BROADWELL-NEXT:    retl # sched: [6:0.50]
;
; SKYLAKE-LABEL: test_popa_popf_pusha_pushf:
; SKYLAKE:       # %bb.0:
; SKYLAKE-NEXT:    #APP
; SKYLAKE-NEXT:    popal # sched: [5:0.50]
; SKYLAKE-NEXT:    popfl # sched: [5:0.50]
; SKYLAKE-NEXT:    pushal # sched: [1:1.00]
; SKYLAKE-NEXT:    pushfl # sched: [1:1.00]
; SKYLAKE-NEXT:    #NO_APP
; SKYLAKE-NEXT:    retl # sched: [6:0.50]
;
; SKX-LABEL: test_popa_popf_pusha_pushf:
; SKX:       # %bb.0:
; SKX-NEXT:    #APP
; SKX-NEXT:    popal # sched: [5:0.50]
; SKX-NEXT:    popfl # sched: [5:0.50]
; SKX-NEXT:    pushal # sched: [1:1.00]
; SKX-NEXT:    pushfl # sched: [1:1.00]
; SKX-NEXT:    #NO_APP
; SKX-NEXT:    retl # sched: [6:0.50]
;
; BTVER2-LABEL: test_popa_popf_pusha_pushf:
; BTVER2:       # %bb.0:
; BTVER2-NEXT:    #APP
; BTVER2-NEXT:    popal # sched: [5:1.00]
; BTVER2-NEXT:    popfl # sched: [5:1.00]
; BTVER2-NEXT:    pushal # sched: [1:1.00]
; BTVER2-NEXT:    pushfl # sched: [1:1.00]
; BTVER2-NEXT:    #NO_APP
; BTVER2-NEXT:    retl # sched: [4:1.00]
;
; ZNVER1-LABEL: test_popa_popf_pusha_pushf:
; ZNVER1:       # %bb.0:
; ZNVER1-NEXT:    #APP
; ZNVER1-NEXT:    popal # sched: [100:0.25]
; ZNVER1-NEXT:    popfl # sched: [100:0.25]
; ZNVER1-NEXT:    pushal # sched: [8:0.50]
; ZNVER1-NEXT:    pushfl # sched: [100:0.25]
; ZNVER1-NEXT:    #NO_APP
; ZNVER1-NEXT:    retl # sched: [1:0.50]
  call void asm sideeffect "popa \0A\09 popf \0A\09 pusha \0A\09 pushf", ""()
  ret void
}

define void @test_ret() optsize {
; GENERIC-LABEL: test_ret:
; GENERIC:       # %bb.0:
; GENERIC-NEXT:    #APP
; GENERIC-NEXT:    retl
; GENERIC-NEXT:    retl $4095 # imm = 0xFFF
; GENERIC-NEXT:    lretl
; GENERIC-NEXT:    lretl $4095 # imm = 0xFFF
; GENERIC-NEXT:    #NO_APP
; GENERIC-NEXT:    retl
;
; ATOM-LABEL: test_ret:
; ATOM:       # %bb.0:
; ATOM-NEXT:    #APP
; ATOM-NEXT:    retl # sched: [79:39.50]
; ATOM-NEXT:    retl $4095 # imm = 0xFFF
; ATOM-NEXT:    # sched: [1:1.00]
; ATOM-NEXT:    lretl # sched: [79:39.50]
; ATOM-NEXT:    lretl $4095 # imm = 0xFFF
; ATOM-NEXT:    # sched: [79:39.50]
; ATOM-NEXT:    #NO_APP
; ATOM-NEXT:    retl # sched: [79:39.50]
;
; SLM-LABEL: test_ret:
; SLM:       # %bb.0:
; SLM-NEXT:    #APP
; SLM-NEXT:    retl # sched: [4:1.00]
; SLM-NEXT:    retl $4095 # imm = 0xFFF
; SLM-NEXT:    # sched: [4:1.00]
; SLM-NEXT:    lretl # sched: [4:1.00]
; SLM-NEXT:    lretl $4095 # imm = 0xFFF
; SLM-NEXT:    # sched: [4:1.00]
; SLM-NEXT:    #NO_APP
; SLM-NEXT:    retl # sched: [4:1.00]
;
; SANDY-LABEL: test_ret:
; SANDY:       # %bb.0:
; SANDY-NEXT:    #APP
; SANDY-NEXT:    retl # sched: [6:1.00]
; SANDY-NEXT:    retl $4095 # imm = 0xFFF
; SANDY-NEXT:    # sched: [6:1.00]
; SANDY-NEXT:    lretl # sched: [6:1.00]
; SANDY-NEXT:    lretl $4095 # imm = 0xFFF
; SANDY-NEXT:    # sched: [6:1.00]
; SANDY-NEXT:    #NO_APP
; SANDY-NEXT:    retl # sched: [6:1.00]
;
; HASWELL-LABEL: test_ret:
; HASWELL:       # %bb.0:
; HASWELL-NEXT:    #APP
; HASWELL-NEXT:    retl # sched: [7:1.00]
; HASWELL-NEXT:    retl $4095 # imm = 0xFFF
; HASWELL-NEXT:    # sched: [1:2.00]
; HASWELL-NEXT:    lretl # sched: [6:0.50]
; HASWELL-NEXT:    lretl $4095 # imm = 0xFFF
; HASWELL-NEXT:    # sched: [1:2.00]
; HASWELL-NEXT:    #NO_APP
; HASWELL-NEXT:    retl # sched: [7:1.00]
;
; BROADWELL-LABEL: test_ret:
; BROADWELL:       # %bb.0:
; BROADWELL-NEXT:    #APP
; BROADWELL-NEXT:    retl # sched: [6:0.50]
; BROADWELL-NEXT:    retl $4095 # imm = 0xFFF
; BROADWELL-NEXT:    # sched: [6:0.50]
; BROADWELL-NEXT:    lretl # sched: [6:0.50]
; BROADWELL-NEXT:    lretl $4095 # imm = 0xFFF
; BROADWELL-NEXT:    # sched: [6:0.50]
; BROADWELL-NEXT:    #NO_APP
; BROADWELL-NEXT:    retl # sched: [6:0.50]
;
; SKYLAKE-LABEL: test_ret:
; SKYLAKE:       # %bb.0:
; SKYLAKE-NEXT:    #APP
; SKYLAKE-NEXT:    retl # sched: [6:0.50]
; SKYLAKE-NEXT:    retl $4095 # imm = 0xFFF
; SKYLAKE-NEXT:    # sched: [6:0.50]
; SKYLAKE-NEXT:    lretl # sched: [6:0.50]
; SKYLAKE-NEXT:    lretl $4095 # imm = 0xFFF
; SKYLAKE-NEXT:    # sched: [6:0.50]
; SKYLAKE-NEXT:    #NO_APP
; SKYLAKE-NEXT:    retl # sched: [6:0.50]
;
; SKX-LABEL: test_ret:
; SKX:       # %bb.0:
; SKX-NEXT:    #APP
; SKX-NEXT:    retl # sched: [6:0.50]
; SKX-NEXT:    retl $4095 # imm = 0xFFF
; SKX-NEXT:    # sched: [6:0.50]
; SKX-NEXT:    lretl # sched: [6:0.50]
; SKX-NEXT:    lretl $4095 # imm = 0xFFF
; SKX-NEXT:    # sched: [6:0.50]
; SKX-NEXT:    #NO_APP
; SKX-NEXT:    retl # sched: [6:0.50]
;
; BTVER2-LABEL: test_ret:
; BTVER2:       # %bb.0:
; BTVER2-NEXT:    #APP
; BTVER2-NEXT:    retl # sched: [4:1.00]
; BTVER2-NEXT:    retl $4095 # imm = 0xFFF
; BTVER2-NEXT:    # sched: [4:1.00]
; BTVER2-NEXT:    lretl # sched: [4:1.00]
; BTVER2-NEXT:    lretl $4095 # imm = 0xFFF
; BTVER2-NEXT:    # sched: [4:1.00]
; BTVER2-NEXT:    #NO_APP
; BTVER2-NEXT:    retl # sched: [4:1.00]
;
; ZNVER1-LABEL: test_ret:
; ZNVER1:       # %bb.0:
; ZNVER1-NEXT:    #APP
; ZNVER1-NEXT:    retl # sched: [1:0.50]
; ZNVER1-NEXT:    retl $4095 # imm = 0xFFF
; ZNVER1-NEXT:    # sched: [5:0.50]
; ZNVER1-NEXT:    lretl # sched: [1:0.50]
; ZNVER1-NEXT:    lretl $4095 # imm = 0xFFF
; ZNVER1-NEXT:    # sched: [5:0.50]
; ZNVER1-NEXT:    #NO_APP
; ZNVER1-NEXT:    retl # sched: [1:0.50]
  call void asm sideeffect "ret \0A\09 ret $0 \0A\09 lret \0A\09 lret $0", "i"(i16 4095)
  ret void
}

define i8 @test_salc() optsize {
; GENERIC-LABEL: test_salc:
; GENERIC:       # %bb.0:
; GENERIC-NEXT:    #APP
; GENERIC-NEXT:    salc
; GENERIC-NEXT:    #NO_APP
; GENERIC-NEXT:    retl
;
; ATOM-LABEL: test_salc:
; ATOM:       # %bb.0:
; ATOM-NEXT:    #APP
; ATOM-NEXT:    salc # sched: [1:0.50]
; ATOM-NEXT:    #NO_APP
; ATOM-NEXT:    retl # sched: [79:39.50]
;
; SLM-LABEL: test_salc:
; SLM:       # %bb.0:
; SLM-NEXT:    #APP
; SLM-NEXT:    salc # sched: [1:0.50]
; SLM-NEXT:    #NO_APP
; SLM-NEXT:    retl # sched: [4:1.00]
;
; SANDY-LABEL: test_salc:
; SANDY:       # %bb.0:
; SANDY-NEXT:    #APP
; SANDY-NEXT:    salc # sched: [1:0.33]
; SANDY-NEXT:    #NO_APP
; SANDY-NEXT:    retl # sched: [6:1.00]
;
; HASWELL-LABEL: test_salc:
; HASWELL:       # %bb.0:
; HASWELL-NEXT:    #APP
; HASWELL-NEXT:    salc # sched: [1:0.25]
; HASWELL-NEXT:    #NO_APP
; HASWELL-NEXT:    retl # sched: [7:1.00]
;
; BROADWELL-LABEL: test_salc:
; BROADWELL:       # %bb.0:
; BROADWELL-NEXT:    #APP
; BROADWELL-NEXT:    salc # sched: [1:0.25]
; BROADWELL-NEXT:    #NO_APP
; BROADWELL-NEXT:    retl # sched: [6:0.50]
;
; SKYLAKE-LABEL: test_salc:
; SKYLAKE:       # %bb.0:
; SKYLAKE-NEXT:    #APP
; SKYLAKE-NEXT:    salc # sched: [1:0.25]
; SKYLAKE-NEXT:    #NO_APP
; SKYLAKE-NEXT:    retl # sched: [6:0.50]
;
; SKX-LABEL: test_salc:
; SKX:       # %bb.0:
; SKX-NEXT:    #APP
; SKX-NEXT:    salc # sched: [1:0.25]
; SKX-NEXT:    #NO_APP
; SKX-NEXT:    retl # sched: [6:0.50]
;
; BTVER2-LABEL: test_salc:
; BTVER2:       # %bb.0:
; BTVER2-NEXT:    #APP
; BTVER2-NEXT:    salc # sched: [1:0.50]
; BTVER2-NEXT:    #NO_APP
; BTVER2-NEXT:    retl # sched: [4:1.00]
;
; ZNVER1-LABEL: test_salc:
; ZNVER1:       # %bb.0:
; ZNVER1-NEXT:    #APP
; ZNVER1-NEXT:    salc # sched: [1:0.25]
; ZNVER1-NEXT:    #NO_APP
; ZNVER1-NEXT:    retl # sched: [1:0.50]
  %1 = tail call i8 asm "salc", "=r"() nounwind
  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:
; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %edx
; GENERIC-NEXT:    #APP
; GENERIC-NEXT:    xchgl %eax, %eax
; GENERIC-NEXT:    xchgl %ecx, %eax
; GENERIC-NEXT:    xchgl %eax, (%edx)
; GENERIC-NEXT:    #NO_APP
; GENERIC-NEXT:    retl
;
; ATOM-LABEL: test_xchg_32:
; ATOM:       # %bb.0:
; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [1:1.00]
; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [1:1.00]
; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [1:1.00]
; ATOM-NEXT:    #APP
; ATOM-NEXT:    xchgl %eax, %eax # sched: [2:1.00]
; ATOM-NEXT:    xchgl %ecx, %eax # sched: [2:1.00]
; ATOM-NEXT:    xchgl %eax, (%edx) # sched: [3:1.50]
; ATOM-NEXT:    #NO_APP
; ATOM-NEXT:    retl # sched: [79:39.50]
;
; SLM-LABEL: test_xchg_32:
; SLM:       # %bb.0:
; SLM-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [3:1.00]
; SLM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [3:1.00]
; SLM-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [3:1.00]
; SLM-NEXT:    #APP
; SLM-NEXT:    xchgl %eax, %eax # sched: [1:0.50]
; SLM-NEXT:    xchgl %ecx, %eax # sched: [1:0.50]
; SLM-NEXT:    xchgl %eax, (%edx) # sched: [4:2.00]
; SLM-NEXT:    #NO_APP
; SLM-NEXT:    retl # sched: [4:1.00]
;
; SANDY-LABEL: test_xchg_32:
; SANDY:       # %bb.0:
; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [5:0.50]
; SANDY-NEXT:    #APP
; SANDY-NEXT:    xchgl %eax, %eax # sched: [2:1.00]
; SANDY-NEXT:    xchgl %ecx, %eax # sched: [2:1.00]
; SANDY-NEXT:    xchgl %eax, (%edx) # sched: [6:1.00]
; SANDY-NEXT:    #NO_APP
; SANDY-NEXT:    retl # sched: [6:1.00]
;
; HASWELL-LABEL: test_xchg_32:
; HASWELL:       # %bb.0:
; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [5:0.50]
; HASWELL-NEXT:    #APP
; HASWELL-NEXT:    xchgl %eax, %eax # sched: [2:0.75]
; HASWELL-NEXT:    xchgl %ecx, %eax # sched: [2:0.75]
; HASWELL-NEXT:    xchgl %eax, (%edx) # sched: [9:1.00]
; HASWELL-NEXT:    #NO_APP
; HASWELL-NEXT:    retl # sched: [7:1.00]
;
; BROADWELL-LABEL: test_xchg_32:
; BROADWELL:       # %bb.0:
; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [5:0.50]
; BROADWELL-NEXT:    #APP
; BROADWELL-NEXT:    xchgl %eax, %eax # sched: [2:0.75]
; BROADWELL-NEXT:    xchgl %ecx, %eax # sched: [2:0.75]
; BROADWELL-NEXT:    xchgl %eax, (%edx) # sched: [8:1.00]
; BROADWELL-NEXT:    #NO_APP
; BROADWELL-NEXT:    retl # sched: [6:0.50]
;
; SKYLAKE-LABEL: test_xchg_32:
; SKYLAKE:       # %bb.0:
; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [5:0.50]
; SKYLAKE-NEXT:    #APP
; SKYLAKE-NEXT:    xchgl %eax, %eax # sched: [2:0.75]
; SKYLAKE-NEXT:    xchgl %ecx, %eax # sched: [2:0.75]
; SKYLAKE-NEXT:    xchgl %eax, (%edx) # sched: [10:1.25]
; SKYLAKE-NEXT:    #NO_APP
; SKYLAKE-NEXT:    retl # sched: [6:0.50]
;
; SKX-LABEL: test_xchg_32:
; SKX:       # %bb.0:
; SKX-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
; SKX-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
; SKX-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [5:0.50]
; SKX-NEXT:    #APP
; SKX-NEXT:    xchgl %eax, %eax # sched: [2:0.75]
; SKX-NEXT:    xchgl %ecx, %eax # sched: [2:0.75]
; SKX-NEXT:    xchgl %eax, (%edx) # sched: [10:1.25]
; SKX-NEXT:    #NO_APP
; SKX-NEXT:    retl # sched: [6:0.50]
;
; BTVER2-LABEL: test_xchg_32:
; BTVER2:       # %bb.0:
; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:1.00]
; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:1.00]
; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [5:1.00]
; BTVER2-NEXT:    #APP
; BTVER2-NEXT:    xchgl %eax, %eax # sched: [1:0.50]
; BTVER2-NEXT:    xchgl %ecx, %eax # sched: [1:0.50]
; BTVER2-NEXT:    xchgl %eax, (%edx) # sched: [4:1.00]
; BTVER2-NEXT:    #NO_APP
; BTVER2-NEXT:    retl # sched: [4:1.00]
;
; ZNVER1-LABEL: test_xchg_32:
; ZNVER1:       # %bb.0:
; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [8:0.50]
; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [8:0.50]
; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [8:0.50]
; ZNVER1-NEXT:    #APP
; ZNVER1-NEXT:    xchgl %eax, %eax # sched: [1:0.50]
; ZNVER1-NEXT:    xchgl %ecx, %eax # sched: [1:0.50]
; ZNVER1-NEXT:    xchgl %eax, (%edx) # sched: [5:0.50]
; ZNVER1-NEXT:    #NO_APP
; ZNVER1-NEXT:    retl # sched: [1:0.50]
  tail call void asm "xchg %EAX, $0 \0A\09 xchg $1, $0 \0A\09 xchg $2, $0", "r,r,*m"(i32 %a0, i32 %a1, i32 *%a2) nounwind
  ret void
}
