fn endian_swap(endian: std.builtin.Endian, comptime size: Size, dst: Reg) Insn
endian: std.builtin.Endian
size: Size
dst: Reg
771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787
fn endian_swap(endian: std.builtin.Endian, comptime size: Size, dst: Reg) Insn { return Insn{ .code = switch (endian) { .big => 0xdc, .little => 0xd4, }, .dst = @backingInt(dst), .src = 0, .off = 0, .imm = switch (size) { .byte => @compileError("can't swap a single byte"), .half_word => 16, .word => 32, .double_word => 64, }, }; }