atomics A.1b: real RMW emission (atomicrmw) + unit test (green)
emitAtomicRmw: LLVMBuildAtomicRMW (binop from RmwKind; signed Min/Max vs unsigned UMin/UMax from val_ty; singleThread=0; LLVM supplies ABI alignment). examples/1701 green (add/sub/and/or/xor/min/max return old values, results verified). Unit test 'emit: atomic rmw (add + signed/unsigned min)' locks 'atomicrmw add' + signed 'min' vs unsigned 'umin'. Suite green (716/0).
This commit is contained in:
@@ -1 +1 @@
|
||||
1
|
||||
0
|
||||
|
||||
@@ -1,7 +1 @@
|
||||
error: atomic rmw LLVM emission not yet implemented (Stream A, A.1b)
|
||||
error: atomic rmw LLVM emission not yet implemented (Stream A, A.1b)
|
||||
error: atomic rmw LLVM emission not yet implemented (Stream A, A.1b)
|
||||
error: atomic rmw LLVM emission not yet implemented (Stream A, A.1b)
|
||||
error: atomic rmw LLVM emission not yet implemented (Stream A, A.1b)
|
||||
error: atomic rmw LLVM emission not yet implemented (Stream A, A.1b)
|
||||
error: atomic rmw LLVM emission not yet implemented (Stream A, A.1b)
|
||||
|
||||
|
||||
@@ -1 +1,10 @@
|
||||
|
||||
old add: 10
|
||||
old sub: 15
|
||||
now: 12
|
||||
old and: 240
|
||||
old or: 48
|
||||
old xor: 51
|
||||
now: 60
|
||||
old min: 20
|
||||
old max: 8
|
||||
now: 15
|
||||
|
||||
Reference in New Issue
Block a user