Guest User

Untitled

a guest
Apr 19th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1. #include <altivec.h>
  2.  
  3. printf("%st:", s);
  4. for (i = 0 ; i <= 15; i++)
  5. printf("%3d ", vec_extract(_data, i));
  6. printf("n");
  7. }
  8.  
  9. void print_vec_long(char *s, vector signed long int _data){
  10. int i;
  11.  
  12. printf("%st:", s);
  13. for (i = 0 ; i <= 1; i++)
  14. printf("%ld ", vec_extract(_data, i));
  15. printf("n");
  16. }
  17.  
  18. int main(){
  19. vector signed long int output;
  20. signed char x, y;
  21. vector signed char _data;
  22. const vector signed char bits = {120, 112, 104, 96, 88, 80, 72, 64, 56, 48, 40, 32, 24, 16, 8, 0};
  23.  
  24.  
  25. // Initialize the vector _data with the same values
  26. _data = vec_splat_s8(-1);
  27.  
  28. print_vec_char("_data", _data);
  29. print_vec_char("bits", bits);
  30.  
  31. output = vec_vbpermq(_data, bits);
  32. print_vec_long("output", output);
  33.  
  34. y = vec_extract(output, 0);
  35. x = vec_extract(output, 1);
  36.  
  37. printf("First Half = %xn", y);
  38. printf("Second Half = %xn", x);
  39.  
  40. }
  41.  
  42. # objdump -D test | grep print_vec_long -A 10
  43.  
  44.  
  45. 0000000000000924 <print_vec_long>:
  46.  
  47. 924: 02 00 4c 3c addis r2,r12,2
  48. 928: dc 75 42 38 addi r2,r2,30172
  49. 92c: a6 02 08 7c mflr r0
  50. 930: 10 00 01 f8 std r0,16(r1)
  51. 934: f8 ff e1 fb std r31,-8(r1)
  52. 938: 61 ff 21 f8 stdu r1,-160(r1)
  53. 93c: 78 0b 3f 7c mr r31,r1
  54. 940: 78 00 7f f8 std r3,120(r31)
  55. 944: 56 12 02 f0 xxswapd vs0,vs34
  56. 948: d0 ff 20 39 li r9,-48
  57.  
  58. objdump -D test | grep print_vec_long -A 10
  59. 0000000000000924 <print_vec_long>:
  60. 924: 02 00 4c 3c addis r2,r12,2
  61. 928: dc 75 42 38 addi r2,r2,30172
  62. 92c: a6 02 08 7c mflr r0
  63. 930: 10 00 01 f8 std r0,16(r1)
  64. 934: f8 ff e1 fb std r31,-8(r1)
  65. 938: 61 ff 21 f8 stdu r1,-160(r1)
  66. 93c: 78 0b 3f 7c mr r31,r1
  67. 940: 78 00 7f f8 std r3,120(r31)
  68. 944: 56 12 02 f0 xxswapd vs0,vs34
  69. 948: d0 ff 20 39 li r9,-48
Add Comment
Please, Sign In to add comment