diff options
Diffstat (limited to 'test/torture-s/simd-5.c.s')
-rw-r--r-- | test/torture-s/simd-5.c.s | 285 |
1 files changed, 177 insertions, 108 deletions
diff --git a/test/torture-s/simd-5.c.s b/test/torture-s/simd-5.c.s index 3243bf7ab..8ba2ba69e 100644 --- a/test/torture-s/simd-5.c.s +++ b/test/torture-s/simd-5.c.s @@ -19,50 +19,81 @@ func0: # @func0 .globl func1 .type func1,@function func1: # @func1 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $0=, 0 - i32.load16_u $1=, q1+6($0) - i32.load16_u $2=, q1+4($0) - i32.load16_u $3=, q1+2($0) - i32.load16_u $4=, q1($0) - i32.load16_u $8=, q2($0) - i32.load16_u $7=, q2+2($0) - i32.load16_u $6=, q2+4($0) - i32.load16_u $5=, q2+6($0) - i32.load16_u $9=, q3+6($0) - i32.load16_u $10=, q3+4($0) - i32.load16_u $11=, q3+2($0) - i32.load16_u $12=, q3($0) - i32.load16_u $16=, q4($0) - i32.load16_u $15=, q4+2($0) - i32.load16_u $14=, q4+4($0) - i32.load16_u $13=, q4+6($0) - call func0@FUNCTION - i32.mul $push3=, $5, $1 - i32.store16 $push8=, w1+6($0), $pop3 - i32.store16 $discard=, w3+6($0), $pop8 - i32.mul $push2=, $6, $2 - i32.store16 $push9=, w1+4($0), $pop2 - i32.store16 $discard=, w3+4($0), $pop9 - i32.mul $push1=, $7, $3 - i32.store16 $push10=, w1+2($0), $pop1 - i32.store16 $discard=, w3+2($0), $pop10 - i32.mul $push0=, $8, $4 - i32.store16 $push11=, w1($0), $pop0 - i32.store16 $discard=, w3($0), $pop11 + i32.const $push0=, 0 + i32.load16_u $0=, q1+4($pop0):p2align=2 + i32.const $push41=, 0 + i32.load16_u $1=, q1+2($pop41) + i32.const $push40=, 0 + i32.load16_u $2=, q1($pop40):p2align=3 + i32.const $push39=, 0 + i32.load16_u $5=, q2($pop39):p2align=3 + i32.const $push38=, 0 + i32.load16_u $4=, q2+2($pop38) + i32.const $push37=, 0 + i32.load16_u $3=, q2+4($pop37):p2align=2 + i32.const $push36=, 0 + i32.load16_u $6=, q3+6($pop36) + i32.const $push35=, 0 + i32.load16_u $7=, q3+4($pop35):p2align=2 + i32.const $push34=, 0 + i32.load16_u $8=, q3+2($pop34) + i32.const $push33=, 0 + i32.load16_u $9=, q3($pop33):p2align=3 + i32.const $push32=, 0 + i32.load16_u $13=, q4($pop32):p2align=3 + i32.const $push31=, 0 + i32.load16_u $12=, q4+2($pop31) + i32.const $push30=, 0 + i32.load16_u $11=, q4+4($pop30):p2align=2 + i32.const $push29=, 0 + i32.load16_u $10=, q4+6($pop29) + i32.const $push28=, 0 + i32.const $push27=, 0 + i32.load16_u $push2=, q2+6($pop27) + i32.const $push26=, 0 + i32.load16_u $push1=, q1+6($pop26) + i32.mul $push6=, $pop2, $pop1 + i32.store16 $14=, w1+6($pop28), $pop6 + i32.const $push25=, 0 + i32.mul $push5=, $3, $0 + i32.store16 $0=, w1+4($pop25):p2align=2, $pop5 + i32.const $push24=, 0 + i32.mul $push4=, $4, $1 + i32.store16 $1=, w1+2($pop24), $pop4 + i32.const $push23=, 0 + i32.mul $push3=, $5, $2 + i32.store16 $2=, w1($pop23):p2align=3, $pop3 + i32.const $push22=, 0 + i32.mul $push10=, $10, $6 + i32.store16 $5=, w2+6($pop22), $pop10 + i32.const $push21=, 0 + i32.mul $push9=, $11, $7 + i32.store16 $4=, w2+4($pop21):p2align=2, $pop9 + i32.const $push20=, 0 + i32.mul $push8=, $12, $8 + i32.store16 $3=, w2+2($pop20), $pop8 + i32.const $push19=, 0 i32.mul $push7=, $13, $9 - i32.store16 $push12=, w2+6($0), $pop7 - i32.store16 $discard=, w4+6($0), $pop12 - i32.mul $push6=, $14, $10 - i32.store16 $push13=, w2+4($0), $pop6 - i32.store16 $discard=, w4+4($0), $pop13 - i32.mul $push5=, $15, $11 - i32.store16 $push14=, w2+2($0), $pop5 - i32.store16 $discard=, w4+2($0), $pop14 - i32.mul $push4=, $16, $12 - i32.store16 $push15=, w2($0), $pop4 - i32.store16 $discard=, w4($0), $pop15 + i32.store16 $6=, w2($pop19):p2align=3, $pop7 + call func0@FUNCTION + i32.const $push18=, 0 + i32.store16 $discard=, w3+6($pop18), $14 + i32.const $push17=, 0 + i32.store16 $discard=, w3+4($pop17):p2align=2, $0 + i32.const $push16=, 0 + i32.store16 $discard=, w3+2($pop16), $1 + i32.const $push15=, 0 + i32.store16 $discard=, w3($pop15):p2align=3, $2 + i32.const $push14=, 0 + i32.store16 $discard=, w4+6($pop14), $5 + i32.const $push13=, 0 + i32.store16 $discard=, w4+4($pop13):p2align=2, $4 + i32.const $push12=, 0 + i32.store16 $discard=, w4+2($pop12), $3 + i32.const $push11=, 0 + i32.store16 $discard=, w4($pop11):p2align=3, $6 return .endfunc .Lfunc_end1: @@ -73,50 +104,81 @@ func1: # @func1 .globl func2 .type func2,@function func2: # @func2 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $0=, 0 - i32.load16_u $1=, q1+6($0) - i32.load16_u $2=, q1+4($0) - i32.load16_u $3=, q1+2($0) - i32.load16_u $4=, q1($0) - i32.load16_u $8=, q2($0) - i32.load16_u $7=, q2+2($0) - i32.load16_u $6=, q2+4($0) - i32.load16_u $5=, q2+6($0) - i32.load16_u $9=, q3+6($0) - i32.load16_u $10=, q3+4($0) - i32.load16_u $11=, q3+2($0) - i32.load16_u $12=, q3($0) - i32.load16_u $16=, q4($0) - i32.load16_u $15=, q4+2($0) - i32.load16_u $14=, q4+4($0) - i32.load16_u $13=, q4+6($0) - call func1@FUNCTION - i32.add $push3=, $5, $1 - i32.store16 $push8=, z1+6($0), $pop3 - i32.store16 $discard=, z3+6($0), $pop8 - i32.add $push2=, $6, $2 - i32.store16 $push9=, z1+4($0), $pop2 - i32.store16 $discard=, z3+4($0), $pop9 - i32.add $push1=, $7, $3 - i32.store16 $push10=, z1+2($0), $pop1 - i32.store16 $discard=, z3+2($0), $pop10 - i32.add $push0=, $8, $4 - i32.store16 $push11=, z1($0), $pop0 - i32.store16 $discard=, z3($0), $pop11 + i32.const $push0=, 0 + i32.load16_u $0=, q1+4($pop0):p2align=2 + i32.const $push41=, 0 + i32.load16_u $1=, q1+2($pop41) + i32.const $push40=, 0 + i32.load16_u $2=, q1($pop40):p2align=3 + i32.const $push39=, 0 + i32.load16_u $5=, q2($pop39):p2align=3 + i32.const $push38=, 0 + i32.load16_u $4=, q2+2($pop38) + i32.const $push37=, 0 + i32.load16_u $3=, q2+4($pop37):p2align=2 + i32.const $push36=, 0 + i32.load16_u $6=, q3+6($pop36) + i32.const $push35=, 0 + i32.load16_u $7=, q3+4($pop35):p2align=2 + i32.const $push34=, 0 + i32.load16_u $8=, q3+2($pop34) + i32.const $push33=, 0 + i32.load16_u $9=, q3($pop33):p2align=3 + i32.const $push32=, 0 + i32.load16_u $13=, q4($pop32):p2align=3 + i32.const $push31=, 0 + i32.load16_u $12=, q4+2($pop31) + i32.const $push30=, 0 + i32.load16_u $11=, q4+4($pop30):p2align=2 + i32.const $push29=, 0 + i32.load16_u $10=, q4+6($pop29) + i32.const $push28=, 0 + i32.const $push27=, 0 + i32.load16_u $push2=, q2+6($pop27) + i32.const $push26=, 0 + i32.load16_u $push1=, q1+6($pop26) + i32.add $push6=, $pop2, $pop1 + i32.store16 $14=, z1+6($pop28), $pop6 + i32.const $push25=, 0 + i32.add $push5=, $3, $0 + i32.store16 $0=, z1+4($pop25):p2align=2, $pop5 + i32.const $push24=, 0 + i32.add $push4=, $4, $1 + i32.store16 $1=, z1+2($pop24), $pop4 + i32.const $push23=, 0 + i32.add $push3=, $5, $2 + i32.store16 $2=, z1($pop23):p2align=3, $pop3 + i32.const $push22=, 0 + i32.sub $push10=, $6, $10 + i32.store16 $5=, z2+6($pop22), $pop10 + i32.const $push21=, 0 + i32.sub $push9=, $7, $11 + i32.store16 $4=, z2+4($pop21):p2align=2, $pop9 + i32.const $push20=, 0 + i32.sub $push8=, $8, $12 + i32.store16 $3=, z2+2($pop20), $pop8 + i32.const $push19=, 0 i32.sub $push7=, $9, $13 - i32.store16 $push12=, z2+6($0), $pop7 - i32.store16 $discard=, z4+6($0), $pop12 - i32.sub $push6=, $10, $14 - i32.store16 $push13=, z2+4($0), $pop6 - i32.store16 $discard=, z4+4($0), $pop13 - i32.sub $push5=, $11, $15 - i32.store16 $push14=, z2+2($0), $pop5 - i32.store16 $discard=, z4+2($0), $pop14 - i32.sub $push4=, $12, $16 - i32.store16 $push15=, z2($0), $pop4 - i32.store16 $discard=, z4($0), $pop15 + i32.store16 $6=, z2($pop19):p2align=3, $pop7 + call func1@FUNCTION + i32.const $push18=, 0 + i32.store16 $discard=, z3+6($pop18), $14 + i32.const $push17=, 0 + i32.store16 $discard=, z3+4($pop17):p2align=2, $0 + i32.const $push16=, 0 + i32.store16 $discard=, z3+2($pop16), $1 + i32.const $push15=, 0 + i32.store16 $discard=, z3($pop15):p2align=3, $2 + i32.const $push14=, 0 + i32.store16 $discard=, z4+6($pop14), $5 + i32.const $push13=, 0 + i32.store16 $discard=, z4+4($pop13):p2align=2, $4 + i32.const $push12=, 0 + i32.store16 $discard=, z4+2($pop12), $3 + i32.const $push11=, 0 + i32.store16 $discard=, z4($pop11):p2align=3, $6 return .endfunc .Lfunc_end2: @@ -128,35 +190,42 @@ func2: # @func2 .type main,@function main: # @main .result i32 - .local i32 # BB#0: # %entry call func2@FUNCTION - i32.const $0=, 0 block - i64.load $push0=, w1($0) - i64.load $push1=, w3($0) + i32.const $push14=, 0 + i64.load $push0=, w1($pop14) + i32.const $push13=, 0 + i64.load $push1=, w3($pop13) i64.ne $push2=, $pop0, $pop1 br_if $pop2, 0 # 0: down to label0 # BB#1: # %if.end block - i64.load $push3=, w2($0) - i64.load $push4=, w4($0) + i32.const $push16=, 0 + i64.load $push3=, w2($pop16) + i32.const $push15=, 0 + i64.load $push4=, w4($pop15) i64.ne $push5=, $pop3, $pop4 br_if $pop5, 0 # 0: down to label1 # BB#2: # %if.end4 block - i64.load $push6=, z1($0) - i64.load $push7=, z3($0) + i32.const $push18=, 0 + i64.load $push6=, z1($pop18) + i32.const $push17=, 0 + i64.load $push7=, z3($pop17) i64.ne $push8=, $pop6, $pop7 br_if $pop8, 0 # 0: down to label2 # BB#3: # %if.end8 block - i64.load $push9=, z2($0) - i64.load $push10=, z4($0) + i32.const $push20=, 0 + i64.load $push9=, z2($pop20) + i32.const $push19=, 0 + i64.load $push10=, z4($pop19) i64.ne $push11=, $pop9, $pop10 br_if $pop11, 0 # 0: down to label3 # BB#4: # %if.end12 - return $0 + i32.const $push12=, 0 + return $pop12 .LBB3_5: # %if.then11 end_block # label3: call abort@FUNCTION @@ -181,7 +250,7 @@ main: # @main .type q1,@object .section .data.q1,"aw",@progbits .globl q1 - .align 3 + .p2align 3 q1: .int16 1 # 0x1 .int16 2 # 0x2 @@ -193,7 +262,7 @@ q1: .type q2,@object .section .data.q2,"aw",@progbits .globl q2 - .align 3 + .p2align 3 q2: .int16 3 # 0x3 .int16 4 # 0x4 @@ -205,7 +274,7 @@ q2: .type q3,@object .section .data.q3,"aw",@progbits .globl q3 - .align 3 + .p2align 3 q3: .int16 5 # 0x5 .int16 6 # 0x6 @@ -217,7 +286,7 @@ q3: .type q4,@object .section .data.q4,"aw",@progbits .globl q4 - .align 3 + .p2align 3 q4: .int16 7 # 0x7 .int16 8 # 0x8 @@ -229,7 +298,7 @@ q4: .type dummy,@object .section .bss.dummy,"aw",@nobits .globl dummy - .align 2 + .p2align 2 dummy: .int32 0 # 0x0 .size dummy, 4 @@ -238,7 +307,7 @@ dummy: .type w1,@object .section .bss.w1,"aw",@nobits .globl w1 - .align 3 + .p2align 3 w1: .skip 8 .size w1, 8 @@ -247,7 +316,7 @@ w1: .type w2,@object .section .bss.w2,"aw",@nobits .globl w2 - .align 3 + .p2align 3 w2: .skip 8 .size w2, 8 @@ -256,7 +325,7 @@ w2: .type w3,@object .section .bss.w3,"aw",@nobits .globl w3 - .align 3 + .p2align 3 w3: .skip 8 .size w3, 8 @@ -265,7 +334,7 @@ w3: .type w4,@object .section .bss.w4,"aw",@nobits .globl w4 - .align 3 + .p2align 3 w4: .skip 8 .size w4, 8 @@ -274,7 +343,7 @@ w4: .type z1,@object .section .bss.z1,"aw",@nobits .globl z1 - .align 3 + .p2align 3 z1: .skip 8 .size z1, 8 @@ -283,7 +352,7 @@ z1: .type z2,@object .section .bss.z2,"aw",@nobits .globl z2 - .align 3 + .p2align 3 z2: .skip 8 .size z2, 8 @@ -292,7 +361,7 @@ z2: .type z3,@object .section .bss.z3,"aw",@nobits .globl z3 - .align 3 + .p2align 3 z3: .skip 8 .size z3, 8 @@ -301,7 +370,7 @@ z3: .type z4,@object .section .bss.z4,"aw",@nobits .globl z4 - .align 3 + .p2align 3 z4: .skip 8 .size z4, 8 |