; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc -mtriple=x86_64-linux-gnu -global-isel -verify-machineinstrs < %s -o - | FileCheck %s --check-prefix=X64
; RUN: llc -mtriple=x86_64-linux-gnu -verify-machineinstrs < %s -o - | FileCheck %s --check-prefix=X64
; RUN: llc -mtriple=i386-linux-gnu -global-isel -verify-machineinstrs < %s -o - | FileCheck %s --check-prefix=X32
; RUN: llc -mtriple=i386-linux-gnu -verify-machineinstrs < %s -o - | FileCheck %s --check-prefix=X32
; RUN: llc -mtriple=x86_64-linux-gnux32 -global-isel -verify-machineinstrs < %s -o - | FileCheck %s --check-prefix=X32ABI-GISEL
; RUN: llc -mtriple=x86_64-linux-gnux32 -verify-machineinstrs < %s -o - | FileCheck %s --check-prefix=X32ABI-SDAG
define ptr @allocai32() {
; X64-LABEL: allocai32:
; X64: # %bb.0:
; X64-NEXT: leaq -{{[0-9]+}}(%rsp), %rax
; X64-NEXT: retq
;
; X32-LABEL: allocai32:
; X32: # %bb.0:
; X32-NEXT: pushl %eax
; X32-NEXT: .cfi_def_cfa_offset 8
; X32-NEXT: movl %esp, %eax
; X32-NEXT: popl %ecx
; X32-NEXT: .cfi_def_cfa_offset 4
; X32-NEXT: retl
;
; X32ABI-GISEL-LABEL: allocai32:
; X32ABI-GISEL: # %bb.0:
; X32ABI-GISEL-NEXT: leal -{{[0-9]+}}(%rsp), %eax
; X32ABI-GISEL-NEXT: movl %eax, %eax
; X32ABI-GISEL-NEXT: retq
;
; X32ABI-SDAG-LABEL: allocai32:
; X32ABI-SDAG: # %bb.0:
; X32ABI-SDAG-NEXT: leal -{{[0-9]+}}(%rsp), %eax
; X32ABI-SDAG-NEXT: retq
; X32ABI-LABEL: allocai32:
; X32ABI: # %bb.0:
; X32ABI-NEXT: leal -{{[0-9]+}}(%rsp), %eax
; X32ABI-NEXT: retq
%ptr1 = alloca i32
ret ptr %ptr1
}