MCPcopy Create free account
hub / github.com/Inori/GPCS4 / emitUpdateScc

Method emitUpdateScc

GPCS4/Graphics/Gcn/GcnCompilerFlowControl.cpp:661–678  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

659 }
660
661 void GcnCompiler::emitUpdateScc(
662 GcnRegisterValuePair& dst, GcnScalarType dstType)
663 {
664 // TODO:
665 // Currently we only support zero test,
666 // we need to support carry-out and borrow-in eventually.
667
668 auto result = emitRegisterZeroTest(dst.low, GcnZeroTest::TestNz);
669
670 if (isDoubleType(dstType))
671 {
672 auto resultHigh = emitRegisterZeroTest(dst.high, GcnZeroTest::TestNz);
673 result.id = m_module.opLogicalOr(m_module.defBoolType(),
674 result.id, resultHigh.id);
675 }
676
677 emitValueStore(m_state.scc, result, GcnRegMask::select(0));
678 }
679
680 void GcnCompiler::emitScalarSync(const GcnShaderInstruction& ins)
681 {

Callers

nothing calls this directly

Calls 2

opLogicalOrMethod · 0.80
defBoolTypeMethod · 0.80

Tested by

no test coverage detected