10 changed files with 31 additions and 0 deletions
@ -0,0 +1,3 @@ |
|||
require_extension('A'); |
|||
require_extension(EXT_ZABHA); |
|||
WRITE_RD((sreg_t)(int8_t)(MMU.amo<uint8_t>(RS1, [&](uint8_t lhs) { return lhs + RS2; }))); |
|||
@ -0,0 +1,3 @@ |
|||
require_extension('A'); |
|||
require_extension(EXT_ZABHA); |
|||
WRITE_RD((sreg_t)(int8_t)(MMU.amo<uint8_t>(RS1, [&](uint8_t lhs) { return lhs & RS2; }))); |
|||
@ -0,0 +1,4 @@ |
|||
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))); |
|||
@ -0,0 +1,3 @@ |
|||
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)); }))); |
|||
@ -0,0 +1,3 @@ |
|||
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)); }))); |
|||
@ -0,0 +1,3 @@ |
|||
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)); }))); |
|||
@ -0,0 +1,3 @@ |
|||
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)); }))); |
|||
@ -0,0 +1,3 @@ |
|||
require_extension('A'); |
|||
require_extension(EXT_ZABHA); |
|||
WRITE_RD((sreg_t)(int8_t)(MMU.amo<uint8_t>(RS1, [&](uint8_t lhs) { return lhs | RS2; }))); |
|||
@ -0,0 +1,3 @@ |
|||
require_extension('A'); |
|||
require_extension(EXT_ZABHA); |
|||
WRITE_RD((sreg_t)(int8_t)(MMU.amo<uint8_t>(RS1, [&](uint8_t UNUSED lhs) { return RS2; }))); |
|||
@ -0,0 +1,3 @@ |
|||
require_extension('A'); |
|||
require_extension(EXT_ZABHA); |
|||
WRITE_RD((sreg_t)(int8_t)(MMU.amo<uint8_t>(RS1, [&](uint8_t lhs) { return lhs ^ RS2; }))); |
|||
Loading…
Reference in new issue