Merge pull request #239 from vortexgpgpu/bug_fixes
Some checks failed
CI / setup (push) Has been cancelled
CI / build (32) (push) Has been cancelled
CI / build (64) (push) Has been cancelled
CI / tests (cache, 32) (push) Has been cancelled
CI / tests (cache, 64) (push) Has been cancelled
CI / tests (config1, 32) (push) Has been cancelled
CI / tests (config1, 64) (push) Has been cancelled
CI / tests (config2, 32) (push) Has been cancelled
CI / tests (config2, 64) (push) Has been cancelled
CI / tests (debug, 32) (push) Has been cancelled
CI / tests (debug, 64) (push) Has been cancelled
CI / tests (opencl, 32) (push) Has been cancelled
CI / tests (opencl, 64) (push) Has been cancelled
CI / tests (regression, 32) (push) Has been cancelled
CI / tests (regression, 64) (push) Has been cancelled
CI / tests (scope, 32) (push) Has been cancelled
CI / tests (scope, 64) (push) Has been cancelled
CI / tests (stress, 32) (push) Has been cancelled
CI / tests (stress, 64) (push) Has been cancelled
CI / tests (synthesis, 32) (push) Has been cancelled
CI / tests (synthesis, 64) (push) Has been cancelled
CI / tests (vector, 32) (push) Has been cancelled
CI / tests (vector, 64) (push) Has been cancelled
CI / tests (vm, 32) (push) Has been cancelled
CI / tests (vm, 64) (push) Has been cancelled
CI / complete (push) Has been cancelled

regression fix
This commit is contained in:
tinebp 2025-03-17 04:33:46 -07:00 committed by GitHub
commit 6a7e402ab4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -17,11 +17,10 @@
#ifndef __VX_INTRINSICS_H__
#define __VX_INTRINSICS_H__
#include <stddef.h>
#include <stdint.h>
#include <VX_types.h>
typedef __SIZE_TYPE__ word_t;
#if defined(__clang__)
#define __UNIFORM__ __attribute__((annotate("vortex.uniform")))
#else
@ -38,13 +37,13 @@ extern "C" {
#define RISCV_CUSTOM3 0x7B
#define csr_read(csr) ({ \
word_t __r; \
size_t __r; \
__asm__ __volatile__ ("csrr %0, %1" : "=r" (__r) : "i" (csr) : "memory"); \
__r; \
})
#define csr_write(csr, val) ({ \
word_t __v = (word_t)(val); \
size_t __v = (size_t)(val); \
if (__builtin_constant_p(val) && __v < 32) \
__asm__ __volatile__ ("csrw %0, %1" :: "i" (csr), "i" (__v) : "memory"); \
else \
@ -52,8 +51,8 @@ extern "C" {
})
#define csr_swap(csr, val) ({ \
word_t __r; \
word_t __v = (word_t)(val); \
size_t __r; \
size_t __v = (size_t)(val); \
if (__builtin_constant_p(val) && __v < 32) \
__asm__ __volatile__ ("csrrw %0, %1, %2" : "=r" (__r) : "i" (csr), "i" (__v) : "memory"); \
else \
@ -62,8 +61,8 @@ extern "C" {
})
#define csr_read_set(csr, val) ({ \
word_t __r; \
word_t __v = (word_t)(val); \
size_t __r; \
size_t __v = (size_t)(val); \
if (__builtin_constant_p(val) && __v < 32) \
__asm__ __volatile__ ("csrrs %0, %1, %2" : "=r" (__r) : "i" (csr), "i" (__v) : "memory"); \
else \
@ -72,7 +71,7 @@ extern "C" {
})
#define csr_set(csr, val) ({ \
word_t __v = (word_t)(val); \
size_t __v = (size_t)(val); \
if (__builtin_constant_p(val) && __v < 32) \
__asm__ __volatile__ ("csrs %0, %1" :: "i" (csr), "i" (__v) : "memory"); \
else \
@ -80,8 +79,8 @@ extern "C" {
})
#define csr_read_clear(csr, val) ({ \
word_t __r; \
word_t __v = (word_t)(val); \
size_t __r; \
size_t __v = (size_t)(val); \
if (__builtin_constant_p(val) && __v < 32) \
__asm__ __volatile__ ("csrrc %0, %1, %2" : "=r" (__r) : "i" (csr), "i" (__v) : "memory"); \
else \
@ -90,7 +89,7 @@ extern "C" {
})
#define csr_clear(csr, val) ({ \
word_t __v = (word_t)(val); \
size_t __v = (size_t)(val); \
if (__builtin_constant_p(val) && __v < 32) \
__asm__ __volatile__ ("csrc %0, %1" :: "i" (csr), "i" (__v) : "memory"); \
else \