20 changed files with 31 additions and 20 deletions
@ -1,3 +1,2 @@ |
|||
require_extension('A'); |
|||
require_extension(EXT_ZABHA); |
|||
WRITE_RD((sreg_t)(int8_t)(MMU.amo<uint8_t>(RS1, [&](uint8_t lhs) { return lhs + RS2; }))); |
|||
WRITE_RD(sreg_t(MMU.amo<int8_t>(RS1, [&](int8_t lhs) { return lhs + RS2; }))); |
|||
|
|||
@ -0,0 +1,2 @@ |
|||
require_extension(EXT_ZABHA); |
|||
WRITE_RD(sreg_t(MMU.amo<int16_t>(RS1, [&](int16_t lhs) { return lhs + RS2; }))); |
|||
@ -1,3 +1,2 @@ |
|||
require_extension('A'); |
|||
require_extension(EXT_ZABHA); |
|||
WRITE_RD((sreg_t)(int8_t)(MMU.amo<uint8_t>(RS1, [&](uint8_t lhs) { return lhs & RS2; }))); |
|||
WRITE_RD(sreg_t(MMU.amo<int8_t>(RS1, [&](int8_t lhs) { return lhs & RS2; }))); |
|||
|
|||
@ -0,0 +1,2 @@ |
|||
require_extension(EXT_ZABHA); |
|||
WRITE_RD(sreg_t(MMU.amo<int16_t>(RS1, [&](int16_t lhs) { return lhs & RS2; }))); |
|||
@ -1,4 +1,3 @@ |
|||
require_extension('A'); |
|||
require_extension(EXT_ZACAS); |
|||
require_extension(EXT_ZABHA); |
|||
WRITE_RD((sreg_t)(int8_t)(MMU.amo_compare_and_swap<uint8_t>(RS1, RD, RS2))); |
|||
WRITE_RD(sreg_t(MMU.amo_compare_and_swap<int8_t>(RS1, RD, RS2))); |
|||
|
|||
@ -0,0 +1,3 @@ |
|||
require_extension(EXT_ZACAS); |
|||
require_extension(EXT_ZABHA); |
|||
WRITE_RD(sreg_t(MMU.amo_compare_and_swap<int16_t>(RS1, RD, RS2))); |
|||
@ -1,3 +1,2 @@ |
|||
require_extension('A'); |
|||
require_extension(EXT_ZABHA); |
|||
WRITE_RD((sreg_t)(int8_t)(MMU.amo<uint8_t>(RS1, [&](int8_t lhs) { return std::max(lhs, int8_t(RS2)); }))); |
|||
WRITE_RD(sreg_t(MMU.amo<int8_t>(RS1, [&](int8_t lhs) { return std::max(lhs, int8_t(RS2)); }))); |
|||
|
|||
@ -0,0 +1,2 @@ |
|||
require_extension(EXT_ZABHA); |
|||
WRITE_RD(sreg_t(MMU.amo<int16_t>(RS1, [&](int16_t lhs) { return std::max(lhs, int16_t(RS2)); }))); |
|||
@ -1,3 +1,2 @@ |
|||
require_extension('A'); |
|||
require_extension(EXT_ZABHA); |
|||
WRITE_RD((sreg_t)(int8_t)(MMU.amo<uint8_t>(RS1, [&](uint8_t lhs) { return std::max(lhs, uint8_t(RS2)); }))); |
|||
WRITE_RD(sreg_t(MMU.amo<int8_t>(RS1, [&](uint8_t lhs) { return std::max(lhs, uint8_t(RS2)); }))); |
|||
|
|||
@ -0,0 +1,2 @@ |
|||
require_extension(EXT_ZABHA); |
|||
WRITE_RD(sreg_t(MMU.amo<int16_t>(RS1, [&](uint16_t lhs) { return std::max(lhs, uint16_t(RS2)); }))); |
|||
@ -1,3 +1,2 @@ |
|||
require_extension('A'); |
|||
require_extension(EXT_ZABHA); |
|||
WRITE_RD((sreg_t)(int8_t)(MMU.amo<uint8_t>(RS1, [&](int8_t lhs) { return std::min(lhs, int8_t(RS2)); }))); |
|||
WRITE_RD(sreg_t(MMU.amo<int8_t>(RS1, [&](int8_t lhs) { return std::min(lhs, int8_t(RS2)); }))); |
|||
|
|||
@ -0,0 +1,2 @@ |
|||
require_extension(EXT_ZABHA); |
|||
WRITE_RD(sreg_t(MMU.amo<int16_t>(RS1, [&](int16_t lhs) { return std::min(lhs, int16_t(RS2)); }))); |
|||
@ -1,3 +1,2 @@ |
|||
require_extension('A'); |
|||
require_extension(EXT_ZABHA); |
|||
WRITE_RD((sreg_t)(int8_t)(MMU.amo<uint8_t>(RS1, [&](uint8_t lhs) { return std::min(lhs, uint8_t(RS2)); }))); |
|||
WRITE_RD(sreg_t(MMU.amo<int8_t>(RS1, [&](uint8_t lhs) { return std::min(lhs, uint8_t(RS2)); }))); |
|||
|
|||
@ -0,0 +1,2 @@ |
|||
require_extension(EXT_ZABHA); |
|||
WRITE_RD(sreg_t(MMU.amo<int16_t>(RS1, [&](uint16_t lhs) { return std::min(lhs, uint16_t(RS2)); }))); |
|||
@ -1,3 +1,2 @@ |
|||
require_extension('A'); |
|||
require_extension(EXT_ZABHA); |
|||
WRITE_RD((sreg_t)(int8_t)(MMU.amo<uint8_t>(RS1, [&](uint8_t lhs) { return lhs | RS2; }))); |
|||
WRITE_RD(sreg_t(MMU.amo<int8_t>(RS1, [&](int8_t lhs) { return lhs | RS2; }))); |
|||
|
|||
@ -0,0 +1,2 @@ |
|||
require_extension(EXT_ZABHA); |
|||
WRITE_RD(sreg_t(MMU.amo<int16_t>(RS1, [&](int16_t lhs) { return lhs | RS2; }))); |
|||
@ -1,3 +1,2 @@ |
|||
require_extension('A'); |
|||
require_extension(EXT_ZABHA); |
|||
WRITE_RD((sreg_t)(int8_t)(MMU.amo<uint8_t>(RS1, [&](uint8_t UNUSED lhs) { return RS2; }))); |
|||
WRITE_RD(sreg_t(MMU.amo<int8_t>(RS1, [&](int8_t UNUSED lhs) { return RS2; }))); |
|||
|
|||
@ -0,0 +1,2 @@ |
|||
require_extension(EXT_ZABHA); |
|||
WRITE_RD(sreg_t(MMU.amo<int16_t>(RS1, [&](int16_t UNUSED lhs) { return RS2; }))); |
|||
@ -1,3 +1,2 @@ |
|||
require_extension('A'); |
|||
require_extension(EXT_ZABHA); |
|||
WRITE_RD((sreg_t)(int8_t)(MMU.amo<uint8_t>(RS1, [&](uint8_t lhs) { return lhs ^ RS2; }))); |
|||
WRITE_RD(sreg_t(MMU.amo<int8_t>(RS1, [&](int8_t lhs) { return lhs ^ RS2; }))); |
|||
|
|||
@ -0,0 +1,2 @@ |
|||
require_extension(EXT_ZABHA); |
|||
WRITE_RD(sreg_t(MMU.amo<int16_t>(RS1, [&](int16_t lhs) { return lhs ^ RS2; }))); |
|||
Loading…
Reference in new issue