[AArch64] Regenerate fp16 tests.
[llvm-project.git] / llvm / test / CodeGen / PowerPC / aix-personality-alias.ll
blob1405efbeaed5182e781b44edf5ea20643c6cab5c
1 ;; Test if we are still able to compile even when the personality routine is just an alias.
3 ; RUN: llc  -verify-machineinstrs -mcpu=pwr7 -mattr=-altivec \
4 ; RUN:      -mtriple powerpc-ibm-aix-xcoff < %s | FileCheck %s --check-prefixes=SYM,SYM32
5 ; RUN: llc  -verify-machineinstrs -mcpu=pwr7 -mattr=-altivec \
6 ; RUN:      -mtriple powerpc64-ibm-aix-xcoff < %s | FileCheck %s --check-prefixes=SYM,SYM64
8 @__xlcxx_personality_v1 = alias i32 (), i32 ()* @__gxx_personality_v0
9 define i32 @__gxx_personality_v0() {
10 entry:
11   ret i32 1
14 define dso_local signext i32 @_Z3foov() #0 personality i8* bitcast (i32 ()* @__xlcxx_personality_v1 to i8*) {
15 entry:
16   %retval = alloca i32, align 4
17   %exn.slot = alloca i8*, align 8
18   %ehselector.slot = alloca i32, align 4
19   invoke void @_Z3barv()
20           to label %invoke.cont unwind label %lpad
22 invoke.cont:                                      ; preds = %entry
23   br label %try.cont
25 lpad:                                             ; preds = %entry
26   %0 = landingpad { i8*, i32 }
27           catch i8* null
28   %1 = extractvalue { i8*, i32 } %0, 0
29   store i8* %1, i8** %exn.slot, align 8
30   %2 = extractvalue { i8*, i32 } %0, 1
31   store i32 %2, i32* %ehselector.slot, align 4
32   br label %catch
34 catch:                                            ; preds = %lpad
35   %exn = load i8*, i8** %exn.slot, align 8
36   br label %return
38 try.cont:                                         ; preds = %invoke.cont
39   store i32 2, i32* %retval, align 4
40   br label %return
42 return:                                           ; preds = %try.cont, %catch
43   ret i32 1
46 declare void @_Z3barv()
48 ;   SYM:    .globl      __gxx_personality_v0[DS]        # -- Begin function __gxx_personality_v0
49 ;   SYM:        .globl  .__gxx_personality_v0
50 ;   SYM:        .align  4
51 ;   SYM:        .csect __gxx_personality_v0[DS]
52 ;   SYM:  __xlcxx_personality_v1:                 # @__gxx_personality_v0
53 ; SYM32:        .vbyte  4, .__gxx_personality_v0
54 ; SYM32:        .vbyte  4, TOC[TC0]
55 ; SYM32:        .vbyte  4, 0
56 ; SYM64:        .vbyte  8, .__gxx_personality_v0
57 ; SYM64:        .vbyte  8, TOC[TC0]
58 ; SYM64:        .vbyte  8, 0
59 ;   SYM:        .csect .text[PR],2
60 ;   SYM:  .__gxx_personality_v0:
61 ;   SYM:  .__xlcxx_personality_v1:
62 ;   SYM:  # %bb.0:                                # %entry
63 ;   SYM:        li 3, 1
64 ;   SYM:        blr
66 ;   SYM:    .csect .eh_info_table[RW],2
67 ;   SYM:  __ehinfo.1:
68 ;   SYM:        .vbyte  4, 0
69 ; SYM32:        .align  2
70 ; SYM32:        .vbyte  4, GCC_except_table1
71 ; SYM32:        .vbyte  4, __xlcxx_personality_v1
72 ; SYM64:        .align  3
73 ; SYM64:        .vbyte  8, GCC_except_table1
74 ; SYM64:        .vbyte  8, __xlcxx_personality_v1