diff --git a/ir_x86.dasc b/ir_x86.dasc index 7ece301..0acffd1 100644 --- a/ir_x86.dasc +++ b/ir_x86.dasc @@ -6993,7 +6993,17 @@ static void ir_emit_tls(ir_ctx *ctx, ir_ref def, ir_insn *insn) return; } -|.if X64 +|.if X64WIN +| gs +| mov Ra(reg), aword [0x58] +| mov Ra(reg), aword [Ra(reg)+insn->op2] +| mov Ra(reg), aword [Ra(reg)+insn->op3] +|.elif WIN +| fs +| mov Ra(reg), aword [0x2c] +| mov Ra(reg), aword [Ra(reg)+insn->op2] +| mov Ra(reg), aword [Ra(reg)+insn->op3] +|.elif X64 | fs || if (!insn->op3) { | mov Ra(reg), aword [insn->op2]