.file "simd-2.c" .globl i .data .align 2 .type i, @object .size i, 16 i: .word 150 .word 100 .word 150 .word 200 .word 0 .word 0 .word 0 .word 0 .globl j .align 2 .type j, @object .size j, 16 j: .word 10 .word 13 .word 20 .word 30 .word 1 .word 1 .word 1 .word 1 .text .align 2 .globl verify .type verify, @function verify: link.w %a6,#0 move.l 8(%a6),%d0 cmp.l 24(%a6),%d0 jbne .L3 move.l 12(%a6),%d0 cmp.l 28(%a6),%d0 jbeq .L4 .L3: jbsr abort .align 2 .L4: move.l 16(%a6),%d0 cmp.l 32(%a6),%d0 jbne .L3 move.l 20(%a6),%d0 cmp.l 36(%a6),%d0 jbne .L3 unlk %a6 rts .size verify, .-verify .align 2 .globl main .type main, @function main: link.w %a6,#-224 movm.l #0x3f3c,-(%sp) clr.l -16(%a6) clr.l -12(%a6) clr.l -8(%a6) clr.l -4(%a6) clr.l -64(%a6) clr.l -60(%a6) clr.l -56(%a6) clr.l -52(%a6) clr.l -112(%a6) clr.l -108(%a6) clr.l -104(%a6) clr.l -100(%a6) clr.l -160(%a6) clr.l -156(%a6) clr.l -152(%a6) clr.l -148(%a6) clr.l -176(%a6) clr.l -172(%a6) clr.l -168(%a6) clr.l -164(%a6) clr.l -192(%a6) clr.l -188(%a6) clr.l -184(%a6) clr.l -180(%a6) clr.l -208(%a6) clr.l -204(%a6) clr.l -200(%a6) clr.l -196(%a6) clr.l -224(%a6) clr.l -220(%a6) clr.l -216(%a6) clr.l -212(%a6) move.l i,%a0 move.l i+4,%a1 move.l i+8,%a2 move.l i+12,%a3 move.l j,%d4 move.l j+4,%d5 move.l j+8,%d6 move.l j+12,%d7 move.l %a0,-32(%a6) move.l %a1,-28(%a6) move.l %a2,-24(%a6) move.l %a3,-20(%a6) move.w -32(%a6),%d1 ext.l %d1 move.l %d4,-48(%a6) move.l %d5,-44(%a6) move.l %d6,-40(%a6) move.l %d7,-36(%a6) bfexts %d4{#0:#16},%d0 add.w %d0,%d1 move.w %d1,-16(%a6) move.w %a0,%d0 add.w %d4,%d0 move.w %d0,-14(%a6) move.l %a1,%d1 bfexts %d1{#0:#16},%d0 move.l %d0,%a4 bfexts %d5{#0:#16},%d0 add.w %d0,%a4 move.l %a4,%d0 move.w %d0,-12(%a6) move.w %a1,%d0 add.w %d5,%d0 move.w %d0,-10(%a6) move.l %a2,%d2 bfexts %d2{#0:#16},%d0 move.l %d0,%a4 bfexts %d6{#0:#16},%d0 add.w %d0,%a4 move.l %a4,%d1 move.w %d1,-8(%a6) move.w %a2,%d0 add.w %d6,%d0 move.w %d0,-6(%a6) move.l %a3,%d3 bfexts %d3{#0:#16},%d0 move.l %d0,%a4 bfexts %d7{#0:#16},%d0 add.w %d0,%a4 move.l %a4,%d0 move.w %d0,-4(%a6) move.w %a3,%d0 add.w %d7,%d0 move.w %d0,-2(%a6) move.l -16(%a6),k move.l -12(%a6),k+4 move.l -8(%a6),k+8 move.l -4(%a6),k+12 move.l -16(%a6),%d0 move.l -12(%a6),%d1 move.l -8(%a6),%d2 lea res,%a5 move.l %d0,(%a5) move.l %d1,res+4 move.l %d2,res+8 move.l -4(%a6),res+12 pea 230.w pea 170.w pea 113.w pea 160.w move.w res+6,%a0 move.l %a0,-(%sp) move.w res+4,%a0 move.l %a0,-(%sp) move.w res+2,%a0 move.l %a0,-(%sp) move.w (%a5),%a0 move.l %a0,-(%sp) jbsr verify move.l i,%a0 move.l i+4,%a1 move.l i+8,%a2 move.l i+12,%a3 move.l j,%d4 move.l j+4,%d5 move.l j+8,%d6 move.l j+12,%d7 move.l %a0,-80(%a6) move.l %a1,-76(%a6) move.l %a2,-72(%a6) move.l %a3,-68(%a6) move.w -80(%a6),%d1 ext.l %d1 move.l %d4,-96(%a6) move.l %d5,-92(%a6) move.l %d6,-88(%a6) move.l %d7,-84(%a6) bfexts %d4{#0:#16},%d0 muls.w %d0,%d1 move.w %d1,-64(%a6) move.w %a0,%d0 muls.w %d4,%d0 move.w %d0,-62(%a6) move.l %a1,%d1 bfexts %d1{#0:#16},%d0 move.l %d0,%a4 bfexts %d5{#0:#16},%d0 move.w %a4,%d1 muls.w %d0,%d1 move.w %d1,%a4 move.l %a4,%d0 move.w %d0,-60(%a6) move.w %a1,%d0 muls.w %d5,%d0 move.w %d0,-58(%a6) move.l %a2,%d2 bfexts %d2{#0:#16},%d0 move.l %d0,%a4 bfexts %d6{#0:#16},%d0 move.w %a4,%d1 muls.w %d0,%d1 move.w %d1,%a4 move.l %a4,%d0 move.w %d0,-56(%a6) move.w %a2,%d0 muls.w %d6,%d0 move.w %d0,-54(%a6) move.l %a3,%d3 bfexts %d3{#0:#16},%d0 move.l %d0,%a4 bfexts %d7{#0:#16},%d0 move.w %a4,%d1 muls.w %d0,%d1 move.w %d1,%a4 move.l %a4,%d0 move.w %d0,-52(%a6) move.w %a3,%d0 muls.w %d7,%d0 move.w %d0,-50(%a6) move.l -64(%a6),k move.l -60(%a6),k+4 move.l -56(%a6),k+8 move.l -52(%a6),k+12 move.l -64(%a6),%d0 move.l -60(%a6),%d1 move.l -56(%a6),%d2 move.l %d0,(%a5) move.l %d1,res+4 move.l %d2,res+8 move.l -52(%a6),res+12 lea (28,%sp),%sp move.l #6000,(%sp) pea 3000.w pea 1300.w pea 1500.w move.w res+6,%a0 move.l %a0,-(%sp) move.w res+4,%a0 move.l %a0,-(%sp) move.w res+2,%a0 move.l %a0,-(%sp) move.w (%a5),%a0 move.l %a0,-(%sp) jbsr verify move.l i,%a0 move.l i+4,%a1 move.l i+8,%a2 move.l i+12,%a3 move.l j,%d4 move.l j+4,%d5 move.l j+8,%d6 move.l j+12,%d7 move.l %a0,-128(%a6) move.l %a1,-124(%a6) move.l %a2,-120(%a6) move.l %a3,-116(%a6) move.w -128(%a6),%d1 ext.l %d1 move.l %d4,-144(%a6) move.l %d5,-140(%a6) move.l %d6,-136(%a6) move.l %d7,-132(%a6) bfexts %d4{#0:#16},%d0 ext.l %d1 divs.w %d0,%d1 move.w %d1,-112(%a6) move.w %a0,%d0 ext.l %d0 divs.w %d4,%d0 move.w %d0,-110(%a6) move.l %a1,%d1 bfexts %d1{#0:#16},%d0 move.l %d0,%a4 bfexts %d5{#0:#16},%d0 move.w %a4,%d1 ext.l %d1 divs.w %d0,%d1 move.w %d1,%a4 move.l %a4,%d0 move.w %d0,-108(%a6) move.w %a1,%d0 ext.l %d0 divs.w %d5,%d0 move.w %d0,-106(%a6) move.l %a2,%d2 bfexts %d2{#0:#16},%d0 move.l %d0,%a4 bfexts %d6{#0:#16},%d0 move.w %a4,%d1 ext.l %d1 divs.w %d0,%d1 move.w %d1,%a4 move.l %a4,%d0 move.w %d0,-104(%a6) move.w %a2,%d0 ext.l %d0 divs.w %d6,%d0 move.w %d0,-102(%a6) move.l %a3,%d3 bfexts %d3{#0:#16},%d0 move.l %d0,%a4 bfexts %d7{#0:#16},%d0 move.w %a4,%d1 ext.l %d1 divs.w %d0,%d1 move.w %d1,%a4 move.l %a4,%d0 move.w %d0,-100(%a6) move.w %a3,%d0 ext.l %d0 divs.w %d7,%d0 move.w %d0,-98(%a6) move.l -112(%a6),k move.l -108(%a6),k+4 move.l -104(%a6),k+8 move.l -100(%a6),k+12 move.l -112(%a6),%d0 move.l -108(%a6),%d1 move.l -104(%a6),%d2 move.l %d0,(%a5) move.l %d1,res+4 move.l %d2,res+8 move.l -100(%a6),res+12 lea (28,%sp),%sp move.l #6,(%sp) pea 7.w pea 7.w pea 15.w move.w res+6,%a0 move.l %a0,-(%sp) move.w res+4,%a0 move.l %a0,-(%sp) move.w res+2,%a0 move.l %a0,-(%sp) move.w (%a5),%a0 move.l %a0,-(%sp) jbsr verify move.l i,%a0 move.l i+4,%a1 move.l i+8,%a2 move.l i+12,%a3 move.l j,%d0 move.l j+4,%d1 move.l j+8,%d2 move.l j+12,%d3 move.l %a0,%d4 and.l %d0,%d4 move.l %d4,-160(%a6) move.l %a1,%d5 and.l %d1,%d5 move.l %d5,-156(%a6) move.l %a2,%d6 and.l %d2,%d6 move.l %d6,-152(%a6) move.l %a3,%d7 and.l %d3,%d7 move.l %d7,-148(%a6) move.l %d4,k move.l %d5,k+4 move.l %d6,k+8 move.l %d7,k+12 move.l %d4,(%a5) move.l %d5,res+4 move.l %d6,res+8 move.l -148(%a6),res+12 lea (28,%sp),%sp move.l #8,(%sp) pea 20.w pea 4.w pea 2.w move.w res+6,%a0 move.l %a0,-(%sp) move.w res+4,%a0 move.l %a0,-(%sp) move.w res+2,%a0 move.l %a0,-(%sp) move.w (%a5),%a0 move.l %a0,-(%sp) jbsr verify move.l i,%a0 move.l i+4,%a1 move.l i+8,%a2 move.l i+12,%a3 move.l j,%d0 move.l j+4,%d1 move.l j+8,%d2 move.l j+12,%d3 move.l %a0,%d4 or.l %d0,%d4 move.l %d4,-176(%a6) move.l %a1,%d5 or.l %d1,%d5 move.l %d5,-172(%a6) move.l %a2,%d6 or.l %d2,%d6 move.l %d6,-168(%a6) move.l %a3,%d7 or.l %d3,%d7 move.l %d7,-164(%a6) move.l %d4,k move.l %d5,k+4 move.l %d6,k+8 move.l %d7,k+12 move.l %d4,(%a5) move.l %d5,res+4 move.l %d6,res+8 move.l -164(%a6),res+12 lea (28,%sp),%sp move.l #222,(%sp) pea 150.w pea 109.w pea 158.w move.w res+6,%a0 move.l %a0,-(%sp) move.w res+4,%a0 move.l %a0,-(%sp) move.w res+2,%a0 move.l %a0,-(%sp) move.w (%a5),%a0 move.l %a0,-(%sp) jbsr verify move.l i,%a0 move.l i+4,%a1 move.l i+8,%a2 move.l i+12,%a3 move.l j,%d0 move.l j+4,%d1 move.l j+8,%d2 move.l j+12,%d3 move.l %a0,%d4 eor.l %d0,%d4 move.l %d4,-192(%a6) move.l %a1,%d5 eor.l %d1,%d5 move.l %d5,-188(%a6) move.l %a2,%d6 eor.l %d2,%d6 move.l %d6,-184(%a6) move.l %a3,%d7 eor.l %d3,%d7 move.l %d7,-180(%a6) move.l %d4,k move.l %d5,k+4 move.l %d6,k+8 move.l %d7,k+12 move.l %d4,(%a5) move.l %d5,res+4 move.l %d6,res+8 move.l -180(%a6),res+12 lea (28,%sp),%sp move.l #214,(%sp) pea 130.w pea 105.w pea 156.w move.w res+6,%a0 move.l %a0,-(%sp) move.w res+4,%a0 move.l %a0,-(%sp) move.w res+2,%a0 move.l %a0,-(%sp) move.w (%a5),%a0 move.l %a0,-(%sp) jbsr verify move.l i,%d4 move.l i+4,%d5 move.l i+8,%d6 move.l i+12,%d7 bfexts %d4{#0:#16},%d0 neg.w %d0 move.w %d0,-208(%a6) move.w %d4,%d0 neg.w %d0 move.w %d0,-206(%a6) bfexts %d5{#0:#16},%d0 neg.w %d0 move.w %d0,-204(%a6) move.w %d5,%d0 neg.w %d0 move.w %d0,-202(%a6) bfexts %d6{#0:#16},%d0 neg.w %d0 move.w %d0,-200(%a6) move.w %d6,%d0 neg.w %d0 move.w %d0,-198(%a6) bfexts %d7{#0:#16},%d0 neg.w %d0 move.w %d0,-196(%a6) move.w %d7,%d0 neg.w %d0 move.w %d0,-194(%a6) move.l -208(%a6),k move.l -204(%a6),k+4 move.l -200(%a6),k+8 move.l -196(%a6),k+12 move.l -208(%a6),%d0 move.l -204(%a6),%d1 move.l -200(%a6),%d2 move.l %d0,(%a5) move.l %d1,res+4 move.l %d2,res+8 move.l -196(%a6),res+12 lea (28,%sp),%sp move.l #-200,(%sp) pea -150.w pea -100.w pea -150.w move.w res+6,%a0 move.l %a0,-(%sp) move.w res+4,%a0 move.l %a0,-(%sp) move.w res+2,%a0 move.l %a0,-(%sp) move.w (%a5),%a0 move.l %a0,-(%sp) jbsr verify move.l i,%d0 move.l i+4,%d1 move.l i+8,%d2 move.l i+12,%d3 move.l %d0,%d4 not.l %d4 move.l %d4,-224(%a6) move.l %d1,%d5 not.l %d5 move.l %d5,-220(%a6) move.l %d2,%d6 not.l %d6 move.l %d6,-216(%a6) move.l %d3,%d7 not.l %d7 move.l %d7,-212(%a6) move.l %d4,k move.l %d5,k+4 move.l %d6,k+8 move.l %d7,k+12 move.l %d4,(%a5) move.l %d5,res+4 move.l %d6,res+8 move.l -212(%a6),res+12 lea (28,%sp),%sp move.l #-201,(%sp) pea -151.w pea -101.w pea -151.w move.w res+6,%a0 move.l %a0,-(%sp) move.w res+4,%a0 move.l %a0,-(%sp) move.w res+2,%a0 move.l %a0,-(%sp) move.w (%a5),%a5 move.l %a5,-(%sp) jbsr verify lea (28,%sp),%sp clr.l (%sp) jbsr exit nop .size main, .-main .comm k,16,2 .comm res,16,2 .ident "GCC: (GNU) 3.3.2"