20 changed files with 31 additions and 20 deletions
@ -1,3 +1,2 @@ |
|||||
require_extension('A'); |
|
||||
require_extension(EXT_ZABHA); |
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); |
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_ZACAS); |
||||
require_extension(EXT_ZABHA); |
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); |
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); |
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); |
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); |
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); |
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); |
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); |
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