/external/swiftshader/src/Reactor/ |
D | LLVMReactor.hpp | 123 inline std::memory_order atomicOrdering(llvm::AtomicOrdering memoryOrder) in atomicOrdering() argument 125 switch(memoryOrder) in atomicOrdering() 133 UNREACHABLE("memoryOrder: %d", int(memoryOrder)); in atomicOrdering() 138 inline llvm::AtomicOrdering atomicOrdering(bool atomic, std::memory_order memoryOrder) in atomicOrdering() argument 145 switch(memoryOrder) in atomicOrdering() 154 UNREACHABLE("memoryOrder: %d", int(memoryOrder)); in atomicOrdering()
|
D | Nucleus.hpp | 243 …se, unsigned int alignment = 0, bool atomic = false, std::memory_order memoryOrder = std::memory_o… 244 …lse, unsigned int aligment = 0, bool atomic = false, std::memory_order memoryOrder = std::memory_o… 252 static void createFence(std::memory_order memoryOrder); 255 …static Value *createAtomicAdd(Value *ptr, Value *value, std::memory_order memoryOrder = std::memor… 256 …static Value *createAtomicSub(Value *ptr, Value *value, std::memory_order memoryOrder = std::memor… 257 …static Value *createAtomicAnd(Value *ptr, Value *value, std::memory_order memoryOrder = std::memor… 258 …static Value *createAtomicOr(Value *ptr, Value *value, std::memory_order memoryOrder = std::memory… 259 …static Value *createAtomicXor(Value *ptr, Value *value, std::memory_order memoryOrder = std::memor… 260 …static Value *createAtomicMin(Value *ptr, Value *value, std::memory_order memoryOrder = std::memor… 261 …static Value *createAtomicMax(Value *ptr, Value *value, std::memory_order memoryOrder = std::memor… [all …]
|
D | EmulatedIntrinsics.hpp | 51 RValue<Int> MinAtomic(RValue<Pointer<Int>> x, RValue<Int> y, std::memory_order memoryOrder); 52 RValue<UInt> MinAtomic(RValue<Pointer<UInt>> x, RValue<UInt> y, std::memory_order memoryOrder); 53 RValue<Int> MaxAtomic(RValue<Pointer<Int>> x, RValue<Int> y, std::memory_order memoryOrder); 54 RValue<UInt> MaxAtomic(RValue<Pointer<UInt>> x, RValue<UInt> y, std::memory_order memoryOrder);
|
D | EmulatedIntrinsics.cpp | 256 RValue<Int> MinAtomic(RValue<Pointer<Int>> x, RValue<Int> y, std::memory_order memoryOrder) in MinAtomic() argument 261 RValue<UInt> MinAtomic(RValue<Pointer<UInt>> x, RValue<UInt> y, std::memory_order memoryOrder) in MinAtomic() argument 266 RValue<Int> MaxAtomic(RValue<Pointer<Int>> x, RValue<Int> y, std::memory_order memoryOrder) in MaxAtomic() argument 271 RValue<UInt> MaxAtomic(RValue<Pointer<UInt>> x, RValue<UInt> y, std::memory_order memoryOrder) in MaxAtomic() argument
|
D | LLVMReactor.cpp | 871 …r, Type *type, bool isVolatile, unsigned int alignment, bool atomic, std::memory_order memoryOrder) in createLoad() argument 883 …eateBitCast(ptr, Pointer<Long>::type()), Long::type(), isVolatile, alignment, atomic, memoryOrder), in createLoad() 891 …createBitCast(ptr, Pointer<Int>::type()), Int::type(), isVolatile, alignment, atomic, memoryOrder); in createLoad() 911 load->setAtomic(atomicOrdering(atomic, memoryOrder)); in createLoad() 923 load->setAtomic(atomicOrdering(atomic, memoryOrder)); in createLoad() 944 … llvm::ConstantInt::get(intTy, uint64_t(atomicOrdering(true, memoryOrder))), in createLoad() 955 …r, Type *type, bool isVolatile, unsigned int alignment, bool atomic, std::memory_order memoryOrder) in createStore() argument 968 Long::type(), isVolatile, alignment, atomic, memoryOrder); in createStore() 977 Int::type(), isVolatile, alignment, atomic, memoryOrder); in createStore() 1011 store->setAtomic(atomicOrdering(atomic, memoryOrder)); in createStore() [all …]
|
D | SubzeroReactor.cpp | 273 Ice::Intrinsics::MemoryOrder stdToIceMemoryOrder(std::memory_order memoryOrder) in stdToIceMemoryOrder() argument 275 switch(memoryOrder) in stdToIceMemoryOrder() 1375 static void validateAtomicAndMemoryOrderArgs(bool atomic, std::memory_order memoryOrder) in validateAtomicAndMemoryOrderArgs() argument 1386 if(memoryOrder != std::memory_order_relaxed) in validateAtomicAndMemoryOrderArgs() 1393 ASSERT(memoryOrder != std::memory_order_seq_cst); in validateAtomicAndMemoryOrderArgs() 1396 … *ptr, Type *type, bool isVolatile, unsigned int align, bool atomic, std::memory_order memoryOrder) in createLoad() argument 1399 validateAtomicAndMemoryOrderArgs(atomic, memoryOrder); in createLoad() 1457 … *ptr, Type *type, bool isVolatile, unsigned int align, bool atomic, std::memory_order memoryOrder) in createStore() argument 1460 validateAtomicAndMemoryOrderArgs(atomic, memoryOrder); in createStore() 1567 …Ice::Intrinsics::AtomicRMWOperation rmwOp, Value *ptr, Value *value, std::memory_order memoryOrder) in createAtomicRMW() argument [all …]
|
D | Reactor.hpp | 1338 RValue<UInt> AddAtomic(RValue<Pointer<UInt>> x, RValue<UInt> y, std::memory_order memoryOrder); 1339 RValue<UInt> SubAtomic(RValue<Pointer<UInt>> x, RValue<UInt> y, std::memory_order memoryOrder); 1340 RValue<UInt> AndAtomic(RValue<Pointer<UInt>> x, RValue<UInt> y, std::memory_order memoryOrder); 1341 RValue<UInt> OrAtomic(RValue<Pointer<UInt>> x, RValue<UInt> y, std::memory_order memoryOrder); 1342 RValue<UInt> XorAtomic(RValue<Pointer<UInt>> x, RValue<UInt> y, std::memory_order memoryOrder); 1343 RValue<Int> MinAtomic(RValue<Pointer<Int>> x, RValue<Int> y, std::memory_order memoryOrder); 1344 RValue<Int> MaxAtomic(RValue<Pointer<Int>> x, RValue<Int> y, std::memory_order memoryOrder); 1345 RValue<UInt> MinAtomic(RValue<Pointer<UInt>> x, RValue<UInt> y, std::memory_order memoryOrder); 1346 RValue<UInt> MaxAtomic(RValue<Pointer<UInt>> x, RValue<UInt> y, std::memory_order memoryOrder); 1347 RValue<UInt> ExchangeAtomic(RValue<Pointer<UInt>> x, RValue<UInt> y, std::memory_order memoryOrder); [all …]
|
D | Reactor.cpp | 2640 RValue<UInt> AddAtomic(RValue<Pointer<UInt>> x, RValue<UInt> y, std::memory_order memoryOrder) in AddAtomic() argument 2642 return RValue<UInt>(Nucleus::createAtomicAdd(x.value(), y.value(), memoryOrder)); in AddAtomic() 2645 RValue<UInt> SubAtomic(RValue<Pointer<UInt>> x, RValue<UInt> y, std::memory_order memoryOrder) in SubAtomic() argument 2647 return RValue<UInt>(Nucleus::createAtomicSub(x.value(), y.value(), memoryOrder)); in SubAtomic() 2650 RValue<UInt> AndAtomic(RValue<Pointer<UInt>> x, RValue<UInt> y, std::memory_order memoryOrder) in AndAtomic() argument 2652 return RValue<UInt>(Nucleus::createAtomicAnd(x.value(), y.value(), memoryOrder)); in AndAtomic() 2655 RValue<UInt> OrAtomic(RValue<Pointer<UInt>> x, RValue<UInt> y, std::memory_order memoryOrder) in OrAtomic() argument 2657 return RValue<UInt>(Nucleus::createAtomicOr(x.value(), y.value(), memoryOrder)); in OrAtomic() 2660 RValue<UInt> XorAtomic(RValue<Pointer<UInt>> x, RValue<UInt> y, std::memory_order memoryOrder) in XorAtomic() argument 2662 return RValue<UInt>(Nucleus::createAtomicXor(x.value(), y.value(), memoryOrder)); in XorAtomic() [all …]
|
/external/OpenCL-CTS/test_conformance/c11_atomics/ |
D | common.h | 293 TExplicitMemoryOrderType memoryOrder) in CheckCapabilities() argument 338 switch (memoryOrder) in CheckCapabilities() 492 std::vector<TExplicitMemoryOrderType> memoryOrder; in ExecuteForEachParameterSet() local 499 getSupportedMemoryOrdersAndScopes(deviceID, memoryOrder, memoryScope), in ExecuteForEachParameterSet() 502 for(unsigned oi = 0; oi < memoryOrder.size(); oi++) in ExecuteForEachParameterSet() 506 if(memoryOrder[oi] == MEMORY_ORDER_EMPTY && memoryScope[si] != MEMORY_SCOPE_EMPTY) in ExecuteForEachParameterSet() 508 MemoryOrder(memoryOrder[oi]); in ExecuteForEachParameterSet() 515 void MemoryOrder(TExplicitMemoryOrderType memoryOrder) {_memoryOrder = memoryOrder;} in MemoryOrder() argument 588 std::vector<TExplicitMemoryOrderType> memoryOrder; in ExecuteForEachParameterSet() local 595 getSupportedMemoryOrdersAndScopes(deviceID, memoryOrder, memoryScope), in ExecuteForEachParameterSet() [all …]
|
/external/swiftshader/src/Pipeline/ |
D | SpirvShaderMemory.cpp | 35 std::memory_order memoryOrder = std::memory_order_relaxed; in EmitLoad() local 53 memoryOrder = MemoryOrder(memorySemantics); in EmitLoad() 64 dst.move(el.index, p.Load<SIMD::Float>(robustness, state->activeLaneMask(), atomic, memoryOrder)); in EmitLoad() 67 …(atomic: {0}, order: {1}, ptr: {2}, val: {3}, mask: {4})", atomic, int(memoryOrder), ptr, dst, sta… in EmitLoad() 77 std::memory_order memoryOrder = std::memory_order_relaxed; in EmitStore() local 83 memoryOrder = MemoryOrder(memorySemantics); in EmitStore() 88 Store(pointerId, value, atomic, memoryOrder, state); in EmitStore() 93 …ct::ID pointerId, const Operand &value, bool atomic, std::memory_order memoryOrder, EmitState *sta… in Store() argument 111 …e(atomic: {0}, order: {1}, ptr: {2}, val: {3}, mask: {4}", atomic, int(memoryOrder), ptr, value, m… in Store() 116 p.Store(value.Float(el.index), robustness, mask, atomic, memoryOrder); in Store()
|
D | SpirvShader.cpp | 2301 auto memoryOrder = MemoryOrder(memorySemantics); in EmitAtomicOp() local 2327 v = AddAtomic(Pointer<UInt>(&ptr.base[offset]), laneValue, memoryOrder); in EmitAtomicOp() 2331 v = SubAtomic(Pointer<UInt>(&ptr.base[offset]), laneValue, memoryOrder); in EmitAtomicOp() 2334 v = AndAtomic(Pointer<UInt>(&ptr.base[offset]), laneValue, memoryOrder); in EmitAtomicOp() 2337 v = OrAtomic(Pointer<UInt>(&ptr.base[offset]), laneValue, memoryOrder); in EmitAtomicOp() 2340 v = XorAtomic(Pointer<UInt>(&ptr.base[offset]), laneValue, memoryOrder); in EmitAtomicOp() 2343 v = As<UInt>(MinAtomic(Pointer<Int>(&ptr.base[offset]), As<Int>(laneValue), memoryOrder)); in EmitAtomicOp() 2346 v = As<UInt>(MaxAtomic(Pointer<Int>(&ptr.base[offset]), As<Int>(laneValue), memoryOrder)); in EmitAtomicOp() 2349 v = MinAtomic(Pointer<UInt>(&ptr.base[offset]), laneValue, memoryOrder); in EmitAtomicOp() 2352 v = MaxAtomic(Pointer<UInt>(&ptr.base[offset]), laneValue, memoryOrder); in EmitAtomicOp() [all …]
|
D | SpirvShader.hpp | 1251 …void Store(Object::ID pointerId, const Operand &value, bool atomic, std::memory_order memoryOrder,…
|