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

Method FSW

external/biscuit/src/assembler_floating_point.cpp:104–118  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

102 EmitRType(m_buffer, 0b0000100, rs2, rs1, rmode, rd, 0b1010011);
103}
104void Assembler::FSW(FPR rs2, int32_t offset, GPR rs1) noexcept {
105 BISCUIT_ASSERT(IsValidSigned12BitImm(offset));
106
107 if (IsOptimizationEnabled(Optimization::AutoCompress) && IsRV32(m_features)) {
108 if (rs1 == sp && offset >= 0 && offset <= 252 && (offset & 0b11) == 0) {
109 C_FSWSP(rs2, static_cast<uint32_t>(offset));
110 return;
111 } else if (offset >= 0 && offset <= 124 && (offset & 0b11) == 0 && IsValid3BitCompressedReg(rs2) && IsValid3BitCompressedReg(rs1)) {
112 C_FSW(rs2, static_cast<uint32_t>(offset), rs1);
113 return;
114 }
115 }
116
117 EmitSType(m_buffer, static_cast<uint32_t>(offset), rs2, rs1, 0b010, 0b0100111);
118}
119
120void Assembler::FABS_S(FPR rd, FPR rs) noexcept {
121 FSGNJX_S(rd, rs, rs);

Callers 4

emitEpilogueMethod · 0.80
setSTMethod · 0.80

Calls 4

IsRV32Function · 0.85
IsValid3BitCompressedRegFunction · 0.85
EmitSTypeFunction · 0.85
IsValidSigned12BitImmFunction · 0.70

Tested by

no test coverage detected