MCPcopy Create free account
hub / github.com/OFFTKP/felix86 / EmitVectorOPIVIImpl

Function EmitVectorOPIVIImpl

external/biscuit/src/assembler_vector.cpp:137–148  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

135}
136
137void EmitVectorOPIVIImpl(CodeBuffer& buffer, uint32_t funct6, VecMask vm, Vec vs2, uint32_t imm5, Vec vd) noexcept {
138 // clang-format off
139 const auto value = (funct6 << 26) |
140 (static_cast<uint32_t>(vm) << 25) |
141 (vs2.Index() << 20) |
142 ((imm5 & 0b11111) << 15) |
143 (0b011U << 12) |
144 (vd.Index() << 7);
145 // clang-format on
146
147 buffer.Emit32(value | 0b1010111);
148}
149
150void EmitVectorOPIVI(CodeBuffer& buffer, uint32_t funct6, VecMask vm, Vec vs2, int32_t simm5, Vec vd) noexcept {
151 BISCUIT_ASSERT(simm5 >= -16 && simm5 <= 15);

Callers 3

EmitVectorOPIVIFunction · 0.85
EmitVectorOPIVUIFunction · 0.85
VRORMethod · 0.85

Calls 2

IndexMethod · 0.80
Emit32Method · 0.80

Tested by

no test coverage detected