| .text |
| .file "/usr/local/google/home/jgravelle/code/wasm/waterfall/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/struct-ret-1.c" |
| .section .text.f,"ax",@progbits |
| .hidden f |
| .globl f |
| .type f,@function |
| f: # @f |
| .param i32, i32, i32, f64, i32 |
| .local i32, i32, i32, f64, f64, i32, i32 |
| # BB#0: # %entry |
| i32.const $push28=, 0 |
| i32.const $push25=, 0 |
| i32.load $push26=, __stack_pointer($pop25) |
| i32.const $push27=, 64 |
| i32.sub $push36=, $pop26, $pop27 |
| tee_local $push35=, $11=, $pop36 |
| i32.store __stack_pointer($pop28), $pop35 |
| i32.const $push1=, 12 |
| i32.add $push2=, $1, $pop1 |
| i32.load $5=, 0($pop2) |
| i32.const $push3=, 16 |
| i32.add $push4=, $1, $pop3 |
| i32.load $6=, 0($pop4) |
| i32.const $push34=, 12 |
| i32.add $push5=, $4, $pop34 |
| i32.load $7=, 0($pop5) |
| f64.load $8=, 0($1) |
| i32.load $1=, 8($1) |
| f64.load $9=, 0($4) |
| i32.load $10=, 8($4) |
| i32.const $push8=, 48 |
| i32.add $push9=, $11, $pop8 |
| i32.const $push33=, 16 |
| i32.add $push6=, $4, $pop33 |
| i32.load $push7=, 0($pop6) |
| i32.store 0($pop9), $pop7 |
| i32.const $push10=, 44 |
| i32.add $push11=, $11, $pop10 |
| i32.store 0($pop11), $7 |
| i32.const $push12=, 40 |
| i32.add $push13=, $11, $pop12 |
| i32.store 0($pop13), $10 |
| i32.const $push14=, 32 |
| i32.add $push15=, $11, $pop14 |
| f64.store 0($pop15), $9 |
| i32.const $push16=, 24 |
| i32.add $push17=, $11, $pop16 |
| f64.store 0($pop17), $3 |
| i32.const $push18=, 20 |
| i32.add $push19=, $11, $pop18 |
| i32.store 0($pop19), $2 |
| i32.const $push32=, 16 |
| i32.add $push20=, $11, $pop32 |
| i32.store 0($pop20), $6 |
| i32.store 12($11), $5 |
| i32.store 8($11), $1 |
| f64.store 0($11), $8 |
| i32.const $push22=, out |
| i32.const $push21=, .L.str |
| i32.call $drop=, sprintf@FUNCTION, $pop22, $pop21, $11 |
| i32.const $push24=, f.xr |
| i32.const $push23=, 33 |
| i32.call $push0=, memcpy@FUNCTION, $0, $pop24, $pop23 |
| i32.store8 33($pop0), $2 |
| i32.const $push31=, 0 |
| i32.const $push29=, 64 |
| i32.add $push30=, $11, $pop29 |
| i32.store __stack_pointer($pop31), $pop30 |
| # fallthrough-return |
| .endfunc |
| .Lfunc_end0: |
| .size f, .Lfunc_end0-f |
| |
| .section .text.main,"ax",@progbits |
| .hidden main |
| .globl main |
| .type main,@function |
| main: # @main |
| .result i32 |
| .local f64, i64, i32, i32, f64, f64, i32, i32, i32 |
| # BB#0: # %entry |
| i32.const $push38=, 0 |
| i32.const $push35=, 0 |
| i32.load $push36=, __stack_pointer($pop35) |
| i32.const $push37=, 256 |
| i32.sub $push87=, $pop36, $pop37 |
| tee_local $push86=, $8=, $pop87 |
| i32.store __stack_pointer($pop38), $pop86 |
| i32.const $push85=, 0 |
| f64.load $0=, B1($pop85) |
| i32.const $push84=, 0 |
| i64.load $1=, B1+8($pop84) |
| i32.const $push83=, 0 |
| i32.load $2=, B1+16($pop83) |
| i32.const $push82=, 0 |
| i32.load8_s $3=, c2($pop82) |
| i32.const $push81=, 0 |
| f64.load $4=, d3($pop81) |
| i32.const $push80=, 0 |
| f64.load $5=, B2($pop80) |
| i32.const $push79=, 0 |
| i32.load $6=, B2+8($pop79) |
| i32.const $push78=, 0 |
| i32.load $7=, B2+12($pop78) |
| i32.const $push1=, 96 |
| i32.add $push2=, $8, $pop1 |
| i32.const $push77=, 0 |
| i32.load $push0=, B2+16($pop77) |
| i32.store 0($pop2), $pop0 |
| i32.const $push3=, 92 |
| i32.add $push4=, $8, $pop3 |
| i32.store 0($pop4), $7 |
| i32.const $push5=, 88 |
| i32.add $push6=, $8, $pop5 |
| i32.store 0($pop6), $6 |
| i32.const $push7=, 80 |
| i32.add $push8=, $8, $pop7 |
| f64.store 0($pop8), $5 |
| i32.const $push9=, 72 |
| i32.add $push10=, $8, $pop9 |
| f64.store 0($pop10), $4 |
| i32.const $push39=, 48 |
| i32.add $push40=, $8, $pop39 |
| i32.const $push11=, 20 |
| i32.add $push12=, $pop40, $pop11 |
| i32.store 0($pop12), $3 |
| i32.const $push41=, 48 |
| i32.add $push42=, $8, $pop41 |
| i32.const $push13=, 16 |
| i32.add $push14=, $pop42, $pop13 |
| i32.store 0($pop14), $2 |
| i64.store 56($8), $1 |
| f64.store 48($8), $0 |
| i32.const $push16=, out |
| i32.const $push15=, .L.str |
| i32.const $push43=, 48 |
| i32.add $push44=, $8, $pop43 |
| i32.call $drop=, sprintf@FUNCTION, $pop16, $pop15, $pop44 |
| i32.const $push45=, 144 |
| i32.add $push46=, $8, $pop45 |
| i32.const $push76=, out |
| i32.call $drop=, strcpy@FUNCTION, $pop46, $pop76 |
| i32.const $push47=, 24 |
| i32.add $push48=, $8, $pop47 |
| i32.const $push75=, 20 |
| i32.add $push17=, $pop48, $pop75 |
| i32.const $push74=, 0 |
| i32.load $push18=, B1+20($pop74) |
| i32.store 0($pop17), $pop18 |
| i32.const $push49=, 24 |
| i32.add $push50=, $8, $pop49 |
| i32.const $push73=, 16 |
| i32.add $push19=, $pop50, $pop73 |
| i32.const $push72=, 0 |
| i32.load $push20=, B1+16($pop72) |
| i32.store 0($pop19), $pop20 |
| i32.const $push21=, 36 |
| i32.add $push22=, $8, $pop21 |
| i32.const $push71=, 0 |
| i32.load $push23=, B1+12($pop71) |
| i32.store 0($pop22), $pop23 |
| i32.const $push51=, 24 |
| i32.add $push52=, $8, $pop51 |
| i32.const $push24=, 8 |
| i32.add $push25=, $pop52, $pop24 |
| i32.const $push70=, 0 |
| i32.load $push26=, B1+8($pop70) |
| i32.store 0($pop25), $pop26 |
| i32.const $push69=, 0 |
| i32.load $push27=, B1+4($pop69) |
| i32.store 28($8), $pop27 |
| i32.const $push68=, 0 |
| i32.load $push28=, B1($pop68) |
| i32.store 24($8), $pop28 |
| i32.const $push67=, 0 |
| f64.load $0=, d3($pop67) |
| i32.const $push66=, 0 |
| i32.load8_s $2=, c2($pop66) |
| i32.const $push65=, 0 |
| i32.load $3=, fp($pop65) |
| i32.const $push64=, 16 |
| i32.add $push29=, $8, $pop64 |
| i32.const $push63=, 0 |
| i64.load $push30=, B2+16($pop63) |
| i64.store 0($pop29), $pop30 |
| i32.const $push62=, 8 |
| i32.add $push31=, $8, $pop62 |
| i32.const $push61=, 0 |
| i64.load $push32=, B2+8($pop61) |
| i64.store 0($pop31), $pop32 |
| i32.const $push60=, 0 |
| i64.load $push33=, B2($pop60) |
| i64.store 0($8), $pop33 |
| i32.const $push53=, 104 |
| i32.add $push54=, $8, $pop53 |
| i32.const $push55=, 24 |
| i32.add $push56=, $8, $pop55 |
| call_indirect $pop54, $pop56, $2, $0, $8, $3 |
| block |
| i32.const $push57=, 144 |
| i32.add $push58=, $8, $pop57 |
| i32.const $push59=, out |
| i32.call $push34=, strcmp@FUNCTION, $pop58, $pop59 |
| br_if 0, $pop34 # 0: down to label0 |
| # BB#1: # %if.end |
| i32.const $push88=, 0 |
| call exit@FUNCTION, $pop88 |
| unreachable |
| .LBB1_2: # %if.then |
| end_block # label0: |
| call abort@FUNCTION |
| unreachable |
| .endfunc |
| .Lfunc_end1: |
| .size main, .Lfunc_end1-main |
| |
| .hidden c1 # @c1 |
| .type c1,@object |
| .section .data.c1,"aw",@progbits |
| .globl c1 |
| c1: |
| .int8 97 # 0x61 |
| .size c1, 1 |
| |
| .hidden c2 # @c2 |
| .type c2,@object |
| .section .data.c2,"aw",@progbits |
| .globl c2 |
| c2: |
| .int8 127 # 0x7f |
| .size c2, 1 |
| |
| .hidden c3 # @c3 |
| .type c3,@object |
| .section .data.c3,"aw",@progbits |
| .globl c3 |
| c3: |
| .int8 128 # 0x80 |
| .size c3, 1 |
| |
| .hidden c4 # @c4 |
| .type c4,@object |
| .section .data.c4,"aw",@progbits |
| .globl c4 |
| c4: |
| .int8 255 # 0xff |
| .size c4, 1 |
| |
| .hidden c5 # @c5 |
| .type c5,@object |
| .section .data.c5,"aw",@progbits |
| .globl c5 |
| c5: |
| .int8 255 # 0xff |
| .size c5, 1 |
| |
| .hidden d1 # @d1 |
| .type d1,@object |
| .section .data.d1,"aw",@progbits |
| .globl d1 |
| .p2align 3 |
| d1: |
| .int64 4591870180066957722 # double 0.10000000000000001 |
| .size d1, 8 |
| |
| .hidden d2 # @d2 |
| .type d2,@object |
| .section .data.d2,"aw",@progbits |
| .globl d2 |
| .p2align 3 |
| d2: |
| .int64 4596373779694328218 # double 0.20000000000000001 |
| .size d2, 8 |
| |
| .hidden d3 # @d3 |
| .type d3,@object |
| .section .data.d3,"aw",@progbits |
| .globl d3 |
| .p2align 3 |
| d3: |
| .int64 4599075939470750515 # double 0.29999999999999999 |
| .size d3, 8 |
| |
| .hidden d4 # @d4 |
| .type d4,@object |
| .section .data.d4,"aw",@progbits |
| .globl d4 |
| .p2align 3 |
| d4: |
| .int64 4600877379321698714 # double 0.40000000000000002 |
| .size d4, 8 |
| |
| .hidden d5 # @d5 |
| .type d5,@object |
| .section .data.d5,"aw",@progbits |
| .globl d5 |
| .p2align 3 |
| d5: |
| .int64 4602678819172646912 # double 0.5 |
| .size d5, 8 |
| |
| .hidden d6 # @d6 |
| .type d6,@object |
| .section .data.d6,"aw",@progbits |
| .globl d6 |
| .p2align 3 |
| d6: |
| .int64 4603579539098121011 # double 0.59999999999999998 |
| .size d6, 8 |
| |
| .hidden d7 # @d7 |
| .type d7,@object |
| .section .data.d7,"aw",@progbits |
| .globl d7 |
| .p2align 3 |
| d7: |
| .int64 4604480259023595110 # double 0.69999999999999996 |
| .size d7, 8 |
| |
| .hidden d8 # @d8 |
| .type d8,@object |
| .section .data.d8,"aw",@progbits |
| .globl d8 |
| .p2align 3 |
| d8: |
| .int64 4605380978949069210 # double 0.80000000000000004 |
| .size d8, 8 |
| |
| .hidden d9 # @d9 |
| .type d9,@object |
| .section .data.d9,"aw",@progbits |
| .globl d9 |
| .p2align 3 |
| d9: |
| .int64 4606281698874543309 # double 0.90000000000000002 |
| .size d9, 8 |
| |
| .hidden B1 # @B1 |
| .type B1,@object |
| .section .data.B1,"aw",@progbits |
| .globl B1 |
| .p2align 3 |
| B1: |
| .int64 4591870180066957722 # double 0.10000000000000001 |
| .int32 1 # 0x1 |
| .int32 2 # 0x2 |
| .int32 3 # 0x3 |
| .skip 4 |
| .size B1, 24 |
| |
| .hidden B2 # @B2 |
| .type B2,@object |
| .section .data.B2,"aw",@progbits |
| .globl B2 |
| .p2align 3 |
| B2: |
| .int64 4596373779694328218 # double 0.20000000000000001 |
| .int32 5 # 0x5 |
| .int32 4 # 0x4 |
| .int32 3 # 0x3 |
| .skip 4 |
| .size B2, 24 |
| |
| .hidden X1 # @X1 |
| .type X1,@object |
| .section .data.X1,"aw",@progbits |
| .globl X1 |
| X1: |
| .asciz "abcdefghijklmnopqrstuvwxyzABCDEF" |
| .int8 71 # 0x47 |
| .size X1, 34 |
| |
| .hidden X2 # @X2 |
| .type X2,@object |
| .section .data.X2,"aw",@progbits |
| .globl X2 |
| X2: |
| .asciz "123\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" |
| .int8 57 # 0x39 |
| .size X2, 34 |
| |
| .hidden X3 # @X3 |
| .type X3,@object |
| .section .data.X3,"aw",@progbits |
| .globl X3 |
| X3: |
| .asciz "return-return-return\000\000\000\000\000\000\000\000\000\000\000\000" |
| .int8 82 # 0x52 |
| .size X3, 34 |
| |
| .type f.xr,@object # @f.xr |
| .section .rodata.f.xr,"a",@progbits |
| f.xr: |
| .asciz "return val\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" |
| .int8 82 # 0x52 |
| .size f.xr, 34 |
| |
| .hidden out # @out |
| .type out,@object |
| .section .bss.out,"aw",@nobits |
| .globl out |
| .p2align 4 |
| out: |
| .skip 100 |
| .size out, 100 |
| |
| .type .L.str,@object # @.str |
| .section .rodata.str1.1,"aMS",@progbits,1 |
| .L.str: |
| .asciz "X f(B,char,double,B):({%g,{%d,%d,%d}},'%c',%g,{%g,{%d,%d,%d}})" |
| .size .L.str, 63 |
| |
| .hidden fp # @fp |
| .type fp,@object |
| .section .data.fp,"aw",@progbits |
| .globl fp |
| .p2align 2 |
| fp: |
| .int32 f@FUNCTION |
| .size fp, 4 |
| |
| |
| .ident "clang version 4.0.0 " |
| .functype sprintf, i32, i32, i32 |
| .functype strcpy, i32, i32, i32 |
| .functype strcmp, i32, i32, i32 |
| .functype abort, void |
| .functype exit, void, i32 |