c_dsp32alu_byteop3.s 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. //Original:/proj/frio/dv/testcases/core/c_dsp32alu_byteop3/c_dsp32alu_byteop3.dsp
  2. // Spec Reference: dsp32alu byteop3
  3. # mach: bfin
  4. .include "testutils.inc"
  5. start
  6. imm32 r0, 0x15678911;
  7. imm32 r1, 0x2789ab1d;
  8. imm32 r2, 0x34445515;
  9. imm32 r3, 0x46667717;
  10. imm32 r4, 0x5567891b;
  11. imm32 r5, 0x6789ab1d;
  12. imm32 r6, 0x74445515;
  13. imm32 r7, 0x86667777;
  14. R4 = BYTEOP3P ( R1:0 , R3:2 ) (LO);
  15. R5 = BYTEOP3P ( R1:0 , R3:2 ) (HI);
  16. R6 = BYTEOP3P ( R1:0 , R3:2 ) (LO);
  17. R7 = BYTEOP3P ( R1:0 , R3:2 ) (HI);
  18. CHECKREG r4, 0x00FF0000;
  19. CHECKREG r5, 0xFF000000;
  20. CHECKREG r6, 0x00FF0000;
  21. CHECKREG r7, 0xFF000000;
  22. imm32 r0, 0x1567892b;
  23. imm32 r1, 0x2789ab2d;
  24. imm32 r2, 0x34445525;
  25. imm32 r3, 0x46667727;
  26. imm32 r4, 0x58889929;
  27. imm32 r5, 0x6aaabb2b;
  28. imm32 r6, 0x7cccdd2d;
  29. imm32 r7, 0x8eeeffff;
  30. R0 = BYTEOP3P ( R3:2 , R1:0 ) (LO);
  31. R1 = BYTEOP3P ( R3:2 , R1:0 ) (LO);
  32. R2 = BYTEOP3P ( R3:2 , R1:0 ) (HI);
  33. R3 = BYTEOP3P ( R3:2 , R1:0 ) (HI);
  34. CHECKREG r0, 0x00FF00FF;
  35. CHECKREG r1, 0x00FF00FF;
  36. CHECKREG r2, 0xFF00FF00;
  37. CHECKREG r3, 0x00000000;
  38. imm32 r0, 0x716789ab;
  39. imm32 r1, 0x8289abcd;
  40. imm32 r2, 0x93445555;
  41. imm32 r3, 0xa4667777;
  42. imm32 r4, 0xb56789ab;
  43. imm32 r5, 0xd689abcd;
  44. imm32 r6, 0xe7445555;
  45. imm32 r7, 0x6f661235;
  46. R4 = BYTEOP3P ( R1:0 , R3:2 ) (LO);
  47. R5 = BYTEOP3P ( R1:0 , R3:2 ) (LO);
  48. R6 = BYTEOP3P ( R1:0 , R3:2 ) (HI);
  49. R7 = BYTEOP3P ( R1:0 , R3:2 ) (HI);
  50. CHECKREG r4, 0x00FF0000;
  51. CHECKREG r5, 0x00FF0000;
  52. CHECKREG r6, 0xFF000000;
  53. CHECKREG r7, 0xFF000000;
  54. imm32 r0, 0x416789ab;
  55. imm32 r1, 0x6289abcd;
  56. imm32 r2, 0x43445555;
  57. imm32 r3, 0x64667777;
  58. imm32 r4, 0x456789ab;
  59. imm32 r5, 0x6689abcd;
  60. imm32 r6, 0x47445555;
  61. imm32 r7, 0x68667777;
  62. R0 = BYTEOP3P ( R3:2 , R1:0 ) (LO);
  63. R1 = BYTEOP3P ( R3:2 , R1:0 ) (LO);
  64. R2 = BYTEOP3P ( R3:2 , R1:0 ) (HI);
  65. R3 = BYTEOP3P ( R3:2 , R1:0 ) (HI);
  66. CHECKREG r0, 0x00FF00FF;
  67. CHECKREG r1, 0x00FF00FF;
  68. CHECKREG r2, 0xFF00FF00;
  69. CHECKREG r3, 0x00000000;
  70. pass