Home | History | Annotate | Download | only in AArch64
      1 ; RUN: llc -mtriple=arm64-apple-ios < %s | FileCheck %s
      2 ;
      3 ; rdar://14075006
      4 
      5 define void @odd() nounwind {
      6 ; CHECK-LABEL: odd:
      7 ; CHECK: stp d15, d14, [sp, #-144]!
      8 ; CHECK: stp d13, d12, [sp, #16]
      9 ; CHECK: stp d11, d10, [sp, #32]
     10 ; CHECK: stp d9, d8, [sp, #48]
     11 ; CHECK: stp x28, x27, [sp, #64]
     12 ; CHECK: stp x26, x25, [sp, #80]
     13 ; CHECK: stp x24, x23, [sp, #96]
     14 ; CHECK: stp x22, x21, [sp, #112]
     15 ; CHECK: stp x20, x19, [sp, #128]
     16 ; CHECK: movz x0, #0x2a
     17 ; CHECK: ldp x20, x19, [sp, #128]
     18 ; CHECK: ldp x22, x21, [sp, #112]
     19 ; CHECK: ldp x24, x23, [sp, #96]
     20 ; CHECK: ldp x26, x25, [sp, #80]
     21 ; CHECK: ldp x28, x27, [sp, #64]
     22 ; CHECK: ldp d9, d8, [sp, #48]
     23 ; CHECK: ldp d11, d10, [sp, #32]
     24 ; CHECK: ldp d13, d12, [sp, #16]
     25 ; CHECK: ldp d15, d14, [sp], #144
     26   call void asm sideeffect "mov x0, #42", "~{x0},~{x19},~{x21},~{x23},~{x25},~{x27},~{d8},~{d10},~{d12},~{d14}"() nounwind
     27   ret void
     28 }
     29 
     30 define void @even() nounwind {
     31 ; CHECK-LABEL: even:
     32 ; CHECK: stp d15, d14, [sp, #-144]!
     33 ; CHECK: stp d13, d12, [sp, #16]
     34 ; CHECK: stp d11, d10, [sp, #32]
     35 ; CHECK: stp d9, d8, [sp, #48]
     36 ; CHECK: stp x28, x27, [sp, #64]
     37 ; CHECK: stp x26, x25, [sp, #80]
     38 ; CHECK: stp x24, x23, [sp, #96]
     39 ; CHECK: stp x22, x21, [sp, #112]
     40 ; CHECK: stp x20, x19, [sp, #128]
     41 ; CHECK: movz x0, #0x2a
     42 ; CHECK: ldp x20, x19, [sp, #128]
     43 ; CHECK: ldp x22, x21, [sp, #112]
     44 ; CHECK: ldp x24, x23, [sp, #96]
     45 ; CHECK: ldp x26, x25, [sp, #80]
     46 ; CHECK: ldp x28, x27, [sp, #64]
     47 ; CHECK: ldp d9, d8, [sp, #48]
     48 ; CHECK: ldp d11, d10, [sp, #32]
     49 ; CHECK: ldp d13, d12, [sp, #16]
     50 ; CHECK: ldp d15, d14, [sp], #144
     51   call void asm sideeffect "mov x0, #42", "~{x0},~{x20},~{x22},~{x24},~{x26},~{x28},~{d9},~{d11},~{d13},~{d15}"() nounwind
     52   ret void
     53 }
     54