Replace CraneStation by bytecodealliance everywhere; (#1221)
This commit is contained in:
committed by
Dan Gohman
parent
f4b021c072
commit
9080a02e10
@@ -1879,7 +1879,7 @@ pub(crate) fn define(
|
||||
|
||||
// SIMD register movement: store, load, spill, fill, regmove. All of these use encodings of
|
||||
// MOVUPS and MOVAPS from SSE (TODO ideally all of these would either use MOVAPS when we have
|
||||
// alignment or type-specific encodings, see https://github.com/CraneStation/cranelift/issues/1039).
|
||||
// alignment or type-specific encodings, see https://github.com/bytecodealliance/cranelift/issues/1039).
|
||||
for ty in ValueType::all_lane_types().filter(allowed_simd_type) {
|
||||
// Store
|
||||
let bound_store = store.bind(vector(ty, sse_vector_size)).bind(Any);
|
||||
@@ -2003,7 +2003,7 @@ pub(crate) fn define(
|
||||
// allows SIMD shifts to be legalized more easily. TODO ideally this would be typed as an
|
||||
// I128x1 but restrictions on the type builder prevent this; the general idea here is that
|
||||
// the upper bits are all zeroed and do not form parts of any separate lane. See
|
||||
// https://github.com/CraneStation/cranelift/issues/1146.
|
||||
// https://github.com/bytecodealliance/cranelift/issues/1146.
|
||||
e.enc_both(
|
||||
bitcast.bind(vector(I64, sse_vector_size)).bind(I32),
|
||||
rec_frurm.opcodes(&MOVD_LOAD_XMM),
|
||||
|
||||
@@ -349,7 +349,7 @@ pub(crate) fn define(shared: &mut SharedDefinitions, x86_instructions: &Instruct
|
||||
def!(y = splat_any8x16(x)),
|
||||
vec![
|
||||
def!(a = scalar_to_vector(x)), // move into the lowest 8 bits of an XMM register
|
||||
// TODO replace the following two instructions with `vconst(0)` when this is possible; see https://github.com/CraneStation/cranelift/issues/1052
|
||||
// TODO replace the following two instructions with `vconst(0)` when this is possible; see https://github.com/bytecodealliance/cranelift/issues/1052
|
||||
def!(b = f64const(ieee64_zero)), // zero out a different XMM register; the shuffle mask for moving the lowest byte to all other byte lanes is 0x0
|
||||
def!(c = bitcast_f64_to_any8x16(b)), // no instruction emitted; informs the SSA that the 0 in b can be used as a vector of this type
|
||||
def!(y = x86_pshufb(a, c)), // PSHUFB takes two XMM operands, one of which is a shuffle mask (i.e. b)
|
||||
|
||||
Reference in New Issue
Block a user