c_dsp32alu_byteop2.s 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. //Original:/proj/frio/dv/testcases/core/c_dsp32alu_byteop2/c_dsp32alu_byteop2.dsp
  2. // Spec Reference: dsp32alu byteop2
  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 = BYTEOP2P ( R1:0 , R3:2 ) (RNDL);
  15. R5 = BYTEOP2P ( R1:0 , R3:2 ) (RNDL , R);
  16. R6 = BYTEOP2P ( R1:0 , R3:2 ) (RNDH);
  17. R7 = BYTEOP2P ( R1:0 , R3:2 ) (RNDH , R);
  18. CHECKREG r4, 0x003D0041;
  19. CHECKREG r5, 0x00570056;
  20. CHECKREG r6, 0x3D004100;
  21. CHECKREG r7, 0x57005600;
  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 = BYTEOP2P ( R3:2 , R1:0 ) (RNDL);
  31. R1 = BYTEOP2P ( R3:2 , R1:0 ) (RNDL , R);
  32. R2 = BYTEOP2P ( R3:2 , R1:0 ) (RNDH);
  33. R3 = BYTEOP2P ( R3:2 , R1:0 ) (RNDH , R);
  34. CHECKREG r0, 0x003D004C;
  35. CHECKREG r1, 0x0057005E;
  36. CHECKREG r2, 0x2D003200;
  37. CHECKREG r3, 0x41003F00;
  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 = BYTEOP2P ( R1:0 , R3:2 ) (TL);
  47. R5 = BYTEOP2P ( R1:0 , R3:2 ) (TL , R);
  48. R6 = BYTEOP2P ( R1:0 , R3:2 ) (TH);
  49. R7 = BYTEOP2P ( R1:0 , R3:2 ) (TH , R);
  50. CHECKREG r4, 0x006B0077;
  51. CHECKREG r5, 0x00850099;
  52. CHECKREG r6, 0x6B007700;
  53. CHECKREG r7, 0x85009900;
  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 = BYTEOP2P ( R3:2 , R1:0 ) (TL);
  63. R1 = BYTEOP2P ( R3:2 , R1:0 ) (TL , R);
  64. R2 = BYTEOP2P ( R3:2 , R1:0 ) (TH);
  65. R3 = BYTEOP2P ( R3:2 , R1:0 ) (TH , R);
  66. CHECKREG r0, 0x004B0077;
  67. CHECKREG r1, 0x006D0099;
  68. CHECKREG r2, 0x34004800;
  69. CHECKREG r3, 0x4D006100;
  70. pass