ssa:inlineAsmFull

This commit is contained in:
luoliwoshang
2025-08-20 20:49:55 +08:00
parent ae36ef4a0e
commit f5d4f93ed7
4 changed files with 42 additions and 16 deletions

View File

@@ -116,8 +116,6 @@ func (p *context) asmFull(b llssa.Builder, args []ssa.Value) (ret llssa.Expr) {
var inputValues []llssa.Expr
var constraints []string
registerNumbers := map[string]int{}
// todo(zzy):output type
_ = hasOutput
if strings.Contains(finalAsm, "{}") {
finalAsm = strings.ReplaceAll(finalAsm, "{}", "$0")
@@ -147,8 +145,7 @@ func (p *context) asmFull(b llssa.Builder, args []ssa.Value) (ret llssa.Expr) {
log.Printf("asmFull: %q -> %q, constraints: %q", asmString, finalAsm, constraintStr)
}
// todo(zzy): call b.InlineAsmFull
return b.Const(constant.MakeInt64(0x1234), b.Prog.Uintptr())
return b.InlineAsmFull(finalAsm, constraintStr, hasOutput, inputValues)
}
// -----------------------------------------------------------------------------