.file "foo.c" .section ".toc","aw" .section ".text" .section ".toc","aw" .LC1: .tc a[TC],a .LC2: .tc b[TC],b .section ".text" .align 2 .p2align 4,,15 .globl shift_left_1 .section ".opd","aw" .align 3 shift_left_1: .quad .L.shift_left_1,.TOC.@tocbase,0 .previous .type shift_left_1, @function .L.shift_left_1: mfvrsave 0 stw 0,-4(1) oris 0,0,0xc004 mtvrsave 0 li 0,64 mtctr 0 addis 11,2,.LC1@toc@ha addis 9,2,.LC2@toc@ha ld 10,.LC1@toc@l(11) vspltisb 1,1 ld 11,.LC2@toc@l(9) li 9,0 .p2align 5,,31 .L2: lxvw4x 45,11,9 vslb 0,13,1 stxvw4x 32,10,9 addi 9,9,16 bdnz .L2 lwz 12,-4(1) mtvrsave 12 blr .long 0 .byte 0,0,0,0,0,0,0,0 .size shift_left_1,.-.L.shift_left_1 .section ".toc","aw" .set .LC3,.LC1 .set .LC4,.LC2 .section ".text" .align 2 .p2align 4,,15 .globl shift_left_2 .section ".opd","aw" .align 3 shift_left_2: .quad .L.shift_left_2,.TOC.@tocbase,0 .previous .type shift_left_2, @function .L.shift_left_2: mfvrsave 0 stw 0,-4(1) oris 0,0,0xc004 mtvrsave 0 li 0,64 mtctr 0 addis 11,2,.LC3@toc@ha addis 9,2,.LC4@toc@ha ld 10,.LC3@toc@l(11) vspltisb 1,2 ld 11,.LC4@toc@l(9) li 9,0 .p2align 5,,31 .L6: lxvw4x 45,11,9 vslb 0,13,1 stxvw4x 32,10,9 addi 9,9,16 bdnz .L6 lwz 12,-4(1) mtvrsave 12 blr .long 0 .byte 0,0,0,0,0,0,0,0 .size shift_left_2,.-.L.shift_left_2 .section ".toc","aw" .set .LC5,.LC2 .LC7: .tc .LC6[TC],.LC6 .LC9: .tc .LC8[TC],.LC8 .set .LC10,.LC1 .LC12: .tc .LC11[TC],.LC11 .LC14: .tc .LC13[TC],.LC13 .section ".text" .align 2 .p2align 4,,15 .globl shift_left_scalar .section ".opd","aw" .align 3 shift_left_scalar: .quad .L.shift_left_scalar,.TOC.@tocbase,0 .previous .type shift_left_scalar, @function .L.shift_left_scalar: mfvrsave 0 stw 0,-4(1) oris 0,0,0xfffc mtvrsave 0 addis 11,2,.LC12@toc@ha ld 11,.LC12@toc@l(11) addis 7,2,.LC10@toc@ha addis 8,2,.LC7@toc@ha addis 10,2,.LC9@toc@ha addis 9,2,.LC14@toc@ha ld 8,.LC7@toc@l(8) lxvw4x 39,0,11 ld 11,.LC10@toc@l(7) li 7,64 addis 6,2,.LC5@toc@ha mtctr 7 ld 10,.LC9@toc@l(10) ld 9,.LC14@toc@l(9) li 0,96 vspltish 6,0 lxvw4x 34,0,8 li 8,80 vspltisw 0,0 lxvw4x 35,0,10 lxvw4x 40,0,9 ld 10,.LC5@toc@l(6) li 9,0 li 6,48 .p2align 4,,15 .L9: stw 3,-80(1) stw 3,-64(1) stw 3,-48(1) stw 3,-32(1) addi 5,1,-128 lvewx 11,5,6 lvewx 12,5,7 lvewx 13,5,8 lvewx 1,5,0 xxspltw 43,43,0 xxspltw 44,44,0 xxspltw 45,45,0 xxspltw 33,33,0 lxvw4x 42,10,9 vperm 9,10,6,2 vperm 10,10,6,3 vperm 4,9,0,7 vperm 5,10,0,7 vperm 9,9,0,8 vperm 10,10,0,8 vslw 11,4,11 vslw 12,9,12 vslw 13,5,13 vslw 1,10,1 vpkuwum 12,11,12 vpkuwum 1,13,1 vpkuhum 1,12,1 stxvw4x 33,11,9 addi 9,9,16 bdnz .L9 lwz 12,-4(1) mtvrsave 12 blr .long 0 .byte 0,0,0,0,0,0,0,0 .size shift_left_scalar,.-.L.shift_left_scalar .section ".toc","aw" .set .LC15,.LC2 .set .LC16,.LC7 .set .LC17,.LC9 .LC18: .tc c[TC],c .set .LC19,.LC1 .set .LC20,.LC12 .set .LC21,.LC14 .section ".text" .align 2 .p2align 4,,15 .globl shift_left_vect .section ".opd","aw" .align 3 shift_left_vect: .quad .L.shift_left_vect,.TOC.@tocbase,0 .previous .type shift_left_vect, @function .L.shift_left_vect: mfvrsave 0 stw 0,-4(1) oris 0,0,0xfffc mtvrsave 0 addis 8,2,.LC16@toc@ha addis 10,2,.LC17@toc@ha addis 11,2,.LC20@toc@ha ld 8,.LC16@toc@l(8) li 0,64 ld 10,.LC17@toc@l(10) ld 11,.LC20@toc@l(11) addis 9,2,.LC21@toc@ha mtctr 0 ld 9,.LC21@toc@l(9) addis 5,2,.LC15@toc@ha lxvw4x 38,0,8 addis 6,2,.LC18@toc@ha addis 7,2,.LC19@toc@ha lxvw4x 39,0,10 lxvw4x 45,0,11 vspltish 12,0 ld 8,.LC15@toc@l(5) ld 10,.LC18@toc@l(6) vspltisw 0,0 ld 11,.LC19@toc@l(7) lxvw4x 33,0,9 li 9,0 .p2align 4,,15 .L12: lxvw4x 42,8,9 lxvw4x 43,10,9 vperm 8,10,12,6 vperm 9,11,12,6 vperm 10,10,12,7 vperm 11,11,12,7 vperm 2,8,0,13 vperm 4,9,0,13 vperm 3,10,0,13 vperm 5,11,0,13 vperm 8,8,0,1 vperm 9,9,0,1 vperm 10,10,0,1 vperm 11,11,0,1 vslw 4,2,4 vslw 9,8,9 vslw 5,3,5 vslw 11,10,11 vpkuwum 9,4,9 vpkuwum 11,5,11 vpkuhum 11,9,11 stxvw4x 43,11,9 addi 9,9,16 bdnz .L12 lwz 12,-4(1) mtvrsave 12 blr .long 0 .byte 0,0,0,0,0,0,0,0 .size shift_left_vect,.-.L.shift_left_vect .section ".toc","aw" .set .LC22,.LC1 .set .LC23,.LC2 .section ".text" .align 2 .p2align 4,,15 .globl shift_right_1 .section ".opd","aw" .align 3 shift_right_1: .quad .L.shift_right_1,.TOC.@tocbase,0 .previous .type shift_right_1, @function .L.shift_right_1: mfvrsave 0 stw 0,-4(1) oris 0,0,0xc004 mtvrsave 0 li 0,64 mtctr 0 addis 11,2,.LC22@toc@ha addis 9,2,.LC23@toc@ha ld 10,.LC22@toc@l(11) vspltisb 1,1 ld 11,.LC23@toc@l(9) li 9,0 .p2align 5,,31 .L15: lxvw4x 45,11,9 vsrb 0,13,1 stxvw4x 32,10,9 addi 9,9,16 bdnz .L15 lwz 12,-4(1) mtvrsave 12 blr .long 0 .byte 0,0,0,0,0,0,0,0 .size shift_right_1,.-.L.shift_right_1 .section ".toc","aw" .set .LC24,.LC1 .set .LC25,.LC2 .section ".text" .align 2 .p2align 4,,15 .globl shift_right_2 .section ".opd","aw" .align 3 shift_right_2: .quad .L.shift_right_2,.TOC.@tocbase,0 .previous .type shift_right_2, @function .L.shift_right_2: mfvrsave 0 stw 0,-4(1) oris 0,0,0xc004 mtvrsave 0 li 0,64 mtctr 0 addis 11,2,.LC24@toc@ha addis 9,2,.LC25@toc@ha ld 10,.LC24@toc@l(11) vspltisb 1,2 ld 11,.LC25@toc@l(9) li 9,0 .p2align 5,,31 .L18: lxvw4x 45,11,9 vsrb 0,13,1 stxvw4x 32,10,9 addi 9,9,16 bdnz .L18 lwz 12,-4(1) mtvrsave 12 blr .long 0 .byte 0,0,0,0,0,0,0,0 .size shift_right_2,.-.L.shift_right_2 .section ".toc","aw" .set .LC26,.LC2 .set .LC27,.LC7 .set .LC28,.LC9 .set .LC29,.LC1 .set .LC30,.LC12 .set .LC31,.LC14 .section ".text" .align 2 .p2align 4,,15 .globl shift_right_scalar .section ".opd","aw" .align 3 shift_right_scalar: .quad .L.shift_right_scalar,.TOC.@tocbase,0 .previous .type shift_right_scalar, @function .L.shift_right_scalar: mfvrsave 0 stw 0,-4(1) oris 0,0,0xfffc mtvrsave 0 addis 11,2,.LC30@toc@ha ld 11,.LC30@toc@l(11) addis 7,2,.LC29@toc@ha addis 8,2,.LC27@toc@ha addis 10,2,.LC28@toc@ha addis 9,2,.LC31@toc@ha ld 8,.LC27@toc@l(8) lxvw4x 39,0,11 ld 11,.LC29@toc@l(7) li 7,64 addis 6,2,.LC26@toc@ha mtctr 7 ld 10,.LC28@toc@l(10) ld 9,.LC31@toc@l(9) li 0,96 vspltish 6,0 lxvw4x 34,0,8 li 8,80 vspltisw 0,0 lxvw4x 35,0,10 lxvw4x 40,0,9 ld 10,.LC26@toc@l(6) li 9,0 li 6,48 .p2align 4,,15 .L21: stw 3,-80(1) stw 3,-64(1) stw 3,-48(1) stw 3,-32(1) addi 5,1,-128 lvewx 11,5,6 lvewx 12,5,7 lvewx 13,5,8 lvewx 1,5,0 xxspltw 43,43,0 xxspltw 44,44,0 xxspltw 45,45,0 xxspltw 33,33,0 lxvw4x 42,10,9 vperm 9,10,6,2 vperm 10,10,6,3 vperm 4,9,0,7 vperm 5,10,0,7 vperm 9,9,0,8 vperm 10,10,0,8 vsraw 11,4,11 vsraw 12,9,12 vsraw 13,5,13 vsraw 1,10,1 vpkuwum 12,11,12 vpkuwum 1,13,1 vpkuhum 1,12,1 stxvw4x 33,11,9 addi 9,9,16 bdnz .L21 lwz 12,-4(1) mtvrsave 12 blr .long 0 .byte 0,0,0,0,0,0,0,0 .size shift_right_scalar,.-.L.shift_right_scalar .section ".toc","aw" .set .LC32,.LC2 .set .LC33,.LC7 .set .LC34,.LC9 .set .LC35,.LC18 .set .LC36,.LC1 .set .LC37,.LC12 .set .LC38,.LC14 .section ".text" .align 2 .p2align 4,,15 .globl shift_right_vect .section ".opd","aw" .align 3 shift_right_vect: .quad .L.shift_right_vect,.TOC.@tocbase,0 .previous .type shift_right_vect, @function .L.shift_right_vect: mfvrsave 0 stw 0,-4(1) oris 0,0,0xfffc mtvrsave 0 addis 8,2,.LC33@toc@ha addis 10,2,.LC34@toc@ha addis 11,2,.LC37@toc@ha ld 8,.LC33@toc@l(8) li 0,64 ld 10,.LC34@toc@l(10) ld 11,.LC37@toc@l(11) addis 9,2,.LC38@toc@ha mtctr 0 ld 9,.LC38@toc@l(9) addis 5,2,.LC32@toc@ha lxvw4x 38,0,8 addis 6,2,.LC35@toc@ha addis 7,2,.LC36@toc@ha lxvw4x 39,0,10 lxvw4x 45,0,11 vspltish 12,0 ld 8,.LC32@toc@l(5) ld 10,.LC35@toc@l(6) vspltisw 0,0 ld 11,.LC36@toc@l(7) lxvw4x 33,0,9 li 9,0 .p2align 4,,15 .L24: lxvw4x 42,8,9 lxvw4x 43,10,9 vperm 8,10,12,6 vperm 9,11,12,6 vperm 10,10,12,7 vperm 11,11,12,7 vperm 2,8,0,13 vperm 4,9,0,13 vperm 3,10,0,13 vperm 5,11,0,13 vperm 8,8,0,1 vperm 9,9,0,1 vperm 10,10,0,1 vperm 11,11,0,1 vsraw 4,2,4 vsraw 9,8,9 vsraw 5,3,5 vsraw 11,10,11 vpkuwum 9,4,9 vpkuwum 11,5,11 vpkuhum 11,9,11 stxvw4x 43,11,9 addi 9,9,16 bdnz .L24 lwz 12,-4(1) mtvrsave 12 blr .long 0 .byte 0,0,0,0,0,0,0,0 .size shift_right_vect,.-.L.shift_right_vect .comm c,1024,32 .comm b,1024,32 .comm a,1024,32 .section .rodata.cst16,"aM",@progbits,16 .align 4 .LC6: .byte 16 .byte 0 .byte 16 .byte 1 .byte 16 .byte 2 .byte 16 .byte 3 .byte 16 .byte 4 .byte 16 .byte 5 .byte 16 .byte 6 .byte 16 .byte 7 .LC8: .byte 16 .byte 8 .byte 16 .byte 9 .byte 16 .byte 10 .byte 16 .byte 11 .byte 16 .byte 12 .byte 16 .byte 13 .byte 16 .byte 14 .byte 16 .byte 15 .LC11: .byte 16 .byte 17 .byte 0 .byte 1 .byte 16 .byte 17 .byte 2 .byte 3 .byte 16 .byte 17 .byte 4 .byte 5 .byte 16 .byte 17 .byte 6 .byte 7 .LC13: .byte 16 .byte 17 .byte 8 .byte 9 .byte 16 .byte 17 .byte 10 .byte 11 .byte 16 .byte 17 .byte 12 .byte 13 .byte 16 .byte 17 .byte 14 .byte 15 .ident "GCC: (GNU) 4.7.0 20111014 (experimental)"