qemu/tests/tcg/xtensa/test_lsc.S
<<
>>
Prefs
   1#include "macros.inc"
   2
   3test_suite lsc
   4
   5#if XCHAL_HAVE_FP
   6
   7test lsi
   8    movi    a2, 1
   9    wsr     a2, cpenable
  10
  11    movi    a2, 1f
  12    lsi     f0, a2, 0
  13    lsi     f1, a2, 4
  14    lsiu    f2, a2, 8
  15    movi    a3, 1f + 8
  16    assert  eq, a2, a3
  17    rfr     a2, f0
  18    movi    a3, 0x3f800000
  19    assert  eq, a2, a3
  20    rfr     a2, f1
  21    movi    a3, 0x40000000
  22    assert  eq, a2, a3
  23    rfr     a2, f2
  24    movi    a3, 0x40400000
  25    assert  eq, a2, a3
  26.data
  27    .align  4
  281:
  29.float 1, 2, 3
  30.text
  31test_end
  32
  33test ssi
  34    movi    a2, 1f
  35    movi    a3, 0x40800000
  36    wfr     f3, a3
  37    ssi     f3, a2, 0
  38    movi    a3, 0x40a00000
  39    wfr     f4, a3
  40    ssi     f4, a2, 4
  41    movi    a3, 0x40c00000
  42    wfr     f5, a3
  43    ssiu    f5, a2, 8
  44    movi    a3, 1f + 8
  45    assert  eq, a2, a3
  46    l32i    a4, a2, -8
  47    movi    a3, 0x40800000
  48    assert  eq, a4, a3
  49    l32i    a4, a2, -4
  50    movi    a3, 0x40a00000
  51    assert  eq, a4, a3
  52    l32i    a4, a2, 0
  53    movi    a3, 0x40c00000
  54    assert  eq, a4, a3
  55.data
  56    .align  4
  571:
  58.float 0, 0, 0
  59.text
  60test_end
  61
  62test lsx
  63    movi    a2, 1f
  64    movi    a3, 0
  65    lsx     f6, a2, a3
  66    movi    a3, 4
  67    lsx     f7, a2, a3
  68    movi    a3, 8
  69    lsxu    f8, a2, a3
  70    movi    a3, 1f + 8
  71    assert  eq, a2, a3
  72    rfr     a2, f6
  73    movi    a3, 0x40e00000
  74    assert  eq, a2, a3
  75    rfr     a2, f7
  76    movi    a3, 0x41000000
  77    assert  eq, a2, a3
  78    rfr     a2, f8
  79    movi    a3, 0x41100000
  80    assert  eq, a2, a3
  81.data
  82    .align  4
  831:
  84.float 7, 8, 9
  85.text
  86test_end
  87
  88test ssx
  89    movi    a2, 1f
  90    movi    a3, 0
  91    movi    a4, 0x41200000
  92    wfr     f9, a4
  93    ssx     f9, a2, a3
  94    movi    a3, 4
  95    movi    a4, 0x41300000
  96    wfr     f10, a4
  97    ssx     f10, a2, a3
  98    movi    a3, 8
  99    movi    a4, 0x41400000
 100    wfr     f11, a4
 101    ssxu    f11, a2, a3
 102    movi    a3, 1f + 8
 103    assert  eq, a2, a3
 104    l32i    a4, a2, -8
 105    movi    a3, 0x41200000
 106    assert  eq, a4, a3
 107    l32i    a4, a2, -4
 108    movi    a3, 0x41300000
 109    assert  eq, a4, a3
 110    l32i    a4, a2, 0
 111    movi    a3, 0x41400000
 112    assert  eq, a4, a3
 113.data
 114    .align  4
 1151:
 116.float 0, 0, 0
 117.text
 118test_end
 119
 120#endif
 121
 122test_suite_end
 123