[mlir][StandardToSPIRV] Emulate bitwidths not supported for store op.
Summary: As D78974, this patch implements the emulation for store op. The emulation is done with atomic operations. E.g., if the storing value is i8, rewrite the StoreOp to: 1) load a 32-bit integer 2) clear 8 bits in the loading value 3) store 32-bit value back 4) load a 32-bit integer 5) modify 8 bits in the loading value 6) store 32-bit value back The step 1 to step 3 are done by AtomicAnd as one atomic step, and the step 4 to step 6 are done by AtomicOr as another atomic step. Differential Revision: https://reviews.llvm.org/D79272
Loading
Please register or sign in to comment