mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-28 04:21:17 +00:00
Add new built-ins (#551)
* Added new built-ins: $$copysign, $$exp2, $$floor, $$llrint, $$llround, $$lrint, $$lround, $$nearbyint, $$rint, $$round, $$roundeven * Disable $$llrint, $$llround, $$lrint and $$lround
This commit is contained in:
@@ -114,72 +114,73 @@ typedef struct
|
||||
|
||||
typedef struct
|
||||
{
|
||||
unsigned abs;
|
||||
unsigned assume;
|
||||
unsigned bitreverse;
|
||||
unsigned bswap;
|
||||
unsigned ceil;
|
||||
unsigned convert_from_fp16;
|
||||
unsigned convert_to_fp16;
|
||||
unsigned copysign;
|
||||
unsigned cos;
|
||||
unsigned ctlz;
|
||||
unsigned ctpop;
|
||||
unsigned cttz;
|
||||
unsigned exp;
|
||||
unsigned exp2;
|
||||
unsigned fabs;
|
||||
unsigned floor;
|
||||
unsigned fma;
|
||||
unsigned fshl;
|
||||
unsigned fshr;
|
||||
unsigned lifetime_end;
|
||||
unsigned lifetime_start;
|
||||
unsigned llrint;
|
||||
unsigned llround;
|
||||
unsigned log;
|
||||
unsigned log2;
|
||||
unsigned log10;
|
||||
unsigned lrint;
|
||||
unsigned lround;
|
||||
unsigned maximum;
|
||||
unsigned maxnum;
|
||||
unsigned memcpy;
|
||||
unsigned memset;
|
||||
unsigned minimum;
|
||||
unsigned minnum;
|
||||
unsigned nearbyint;
|
||||
unsigned pow;
|
||||
unsigned powi;
|
||||
unsigned readcyclecounter;
|
||||
unsigned rint;
|
||||
unsigned round;
|
||||
unsigned roundeven;
|
||||
unsigned sadd_overflow;
|
||||
unsigned sadd_sat;
|
||||
unsigned uadd_overflow;
|
||||
unsigned uadd_sat;
|
||||
unsigned sin;
|
||||
unsigned smax;
|
||||
unsigned smin;
|
||||
unsigned smul_overflow;
|
||||
unsigned sqrt;
|
||||
unsigned sshl_sat;
|
||||
unsigned ssub_overflow;
|
||||
unsigned ssub_sat;
|
||||
unsigned trap;
|
||||
unsigned trunc;
|
||||
unsigned uadd_overflow;
|
||||
unsigned uadd_sat;
|
||||
unsigned umax;
|
||||
unsigned umin;
|
||||
unsigned umul_overflow;
|
||||
unsigned ushl_sat;
|
||||
unsigned usub_overflow;
|
||||
unsigned usub_sat;
|
||||
unsigned sshl_sat;
|
||||
unsigned ushl_sat;
|
||||
unsigned smul_overflow;
|
||||
unsigned umul_overflow;
|
||||
unsigned vector_reduce_fmax;
|
||||
unsigned vector_reduce_fmin;
|
||||
unsigned vector_reduce_smax;
|
||||
unsigned vector_reduce_smin;
|
||||
unsigned vector_reduce_umax;
|
||||
unsigned vector_reduce_umin;
|
||||
unsigned vector_reduce_fmax;
|
||||
unsigned vector_reduce_fmin;
|
||||
unsigned trap;
|
||||
unsigned bswap;
|
||||
unsigned assume;
|
||||
unsigned rint;
|
||||
unsigned trunc;
|
||||
unsigned ceil;
|
||||
unsigned sqrt;
|
||||
unsigned nearbyint;
|
||||
unsigned roundeven;
|
||||
unsigned lround;
|
||||
unsigned llround;
|
||||
unsigned lrint;
|
||||
unsigned llrint;
|
||||
unsigned floor;
|
||||
unsigned powi;
|
||||
unsigned pow;
|
||||
unsigned sin;
|
||||
unsigned cos;
|
||||
unsigned exp;
|
||||
unsigned exp2;
|
||||
unsigned log;
|
||||
unsigned log2;
|
||||
unsigned log10;
|
||||
unsigned fabs;
|
||||
unsigned fma;
|
||||
unsigned copysign;
|
||||
unsigned minnum;
|
||||
unsigned maxnum;
|
||||
unsigned minimum;
|
||||
unsigned maximum;
|
||||
unsigned smax;
|
||||
unsigned smin;
|
||||
unsigned umax;
|
||||
unsigned umin;
|
||||
unsigned abs;
|
||||
unsigned fshl;
|
||||
unsigned fshr;
|
||||
unsigned bitreverse;
|
||||
unsigned ctpop;
|
||||
unsigned ctlz;
|
||||
unsigned cttz;
|
||||
unsigned convert_from_fp16;
|
||||
unsigned convert_to_fp16;
|
||||
unsigned lifetime_start;
|
||||
unsigned lifetime_end;
|
||||
unsigned memcpy;
|
||||
unsigned memset;
|
||||
unsigned readcyclecounter;
|
||||
} LLVMIntrinsics;
|
||||
|
||||
extern LLVMIntrinsics intrinsic_id;
|
||||
|
||||
Reference in New Issue
Block a user