diff --git a/opt.cpp b/opt.cpp index 7a471e89..9ddbdd11 100644 --- a/opt.cpp +++ b/opt.cpp @@ -2568,7 +2568,7 @@ llvm::RegisterPass bool MakeInternalFuncsStaticPass::runOnModule(llvm::Module &module) { const char *names[] = { - "__do_print", "__fast_masked_vload", + "__do_print", "__fast_masked_vload", "__num_cores", "__gather_base_offsets_i8", "__gather_base_offsets_i16", "__gather_base_offsets_i32", "__gather_base_offsets_i64", "__gather_elt_8", "__gather_elt_16", diff --git a/stdlib.ispc b/stdlib.ispc index 40b4c9e8..1e8ddc4f 100644 --- a/stdlib.ispc +++ b/stdlib.ispc @@ -638,24 +638,24 @@ DEFINE_ATOMIC_OP(unsigned int32,int32,swap,swap,int32) DEFINE_ATOMIC_OP(float,float,swap,swap,int32) -DEFINE_ATOMIC_OP(int64,int64,add,add,int64) -DEFINE_ATOMIC_OP(int64,int64,subtract,sub,int64) +DEFINE_ATOMIC_OP(int64,int64,add,add,int32) +DEFINE_ATOMIC_OP(int64,int64,subtract,sub,int32) DEFINE_ATOMIC_MINMAX_OP(int64,int64,min,min) DEFINE_ATOMIC_MINMAX_OP(int64,int64,max,max) -DEFINE_ATOMIC_OP(int64,int64,and,and,int64) -DEFINE_ATOMIC_OP(int64,int64,or,or,int64) -DEFINE_ATOMIC_OP(int64,int64,xor,xor,int64) +DEFINE_ATOMIC_OP(int64,int64,and,and,int32) +DEFINE_ATOMIC_OP(int64,int64,or,or,int32) +DEFINE_ATOMIC_OP(int64,int64,xor,xor,int32) DEFINE_ATOMIC_OP(int64,int64,swap,swap,int32) // For everything but atomic min and max, we can use the same // implementations for unsigned as for signed. -DEFINE_ATOMIC_OP(unsigned int64,int64,add,add,int64) -DEFINE_ATOMIC_OP(unsigned int64,int64,subtract,sub,int64) +DEFINE_ATOMIC_OP(unsigned int64,int64,add,add,int32) +DEFINE_ATOMIC_OP(unsigned int64,int64,subtract,sub,int32) DEFINE_ATOMIC_MINMAX_OP(unsigned int64,uint64,min,umin) DEFINE_ATOMIC_MINMAX_OP(unsigned int64,uint64,max,umax) -DEFINE_ATOMIC_OP(unsigned int64,int64,and,and,int64) -DEFINE_ATOMIC_OP(unsigned int64,int64,or,or,int64) -DEFINE_ATOMIC_OP(unsigned int64,int64,xor,xor,int64) +DEFINE_ATOMIC_OP(unsigned int64,int64,and,and,int32) +DEFINE_ATOMIC_OP(unsigned int64,int64,or,or,int32) +DEFINE_ATOMIC_OP(unsigned int64,int64,xor,xor,int32) DEFINE_ATOMIC_OP(unsigned int64,int64,swap,swap,int32) DEFINE_ATOMIC_OP(double,double,swap,swap,int32)