| ... | ... | @@ -486,7 +486,7 @@ pub const MCValue = union(enum) { |
| 486 | 486 | } }, |
| 487 | 487 | } else .{ .base = .{ .reg = .ds }, .mod = .{ .off = addr } }, |
| 488 | 488 | .indirect => |reg_off| .{ |
| 489 | | .base = .{ .reg = registerAlias(reg_off.reg, @divExact(function.target.ptrBitWidth(), 8)) }, |
| 489 | .base = .{ .reg = reg_off.reg.toSize(.ptr, function.target) }, |
| 490 | 490 | .mod = .{ .rm = .{ |
| 491 | 491 | .size = mod_rm.size, |
| 492 | 492 | .index = mod_rm.index, |
| ... | ... | @@ -2408,7 +2408,7 @@ fn genBodyBlock(self: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2408 | 2408 | } |
| 2409 | 2409 | |
| 2410 | 2410 | fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2411 | | @setEvalBranchQuota(18_100); |
| 2411 | @setEvalBranchQuota(19_300); |
| 2412 | 2412 | const pt = cg.pt; |
| 2413 | 2413 | const zcu = pt.zcu; |
| 2414 | 2414 | const ip = &zcu.intern_pool; |
| ... | ... | @@ -2444,7 +2444,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2444 | 2444 | try cg.inst_tracking.ensureUnusedCapacity(cg.gpa, 1); |
| 2445 | 2445 | switch (air_tags[@intFromEnum(inst)]) { |
| 2446 | 2446 | // zig fmt: off |
| 2447 | | .mul_sat => try cg.airMulSat(inst), |
| 2448 | 2447 | .shl_sat => try cg.airShlSat(inst), |
| 2449 | 2448 | |
| 2450 | 2449 | .bitcast => try cg.airBitCast(inst), |
| ... | ... | @@ -4493,7 +4492,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 4493 | 4492 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 4494 | 4493 | }, |
| 4495 | 4494 | .extra_temps = .{ |
| 4496 | | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 4495 | .{ .type = .u8, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 4497 | 4496 | .unused, |
| 4498 | 4497 | .unused, |
| 4499 | 4498 | .unused, |
| ... | ... | @@ -4523,7 +4522,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 4523 | 4522 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 4524 | 4523 | }, |
| 4525 | 4524 | .extra_temps = .{ |
| 4526 | | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 4525 | .{ .type = .u8, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 4527 | 4526 | .unused, |
| 4528 | 4527 | .unused, |
| 4529 | 4528 | .unused, |
| ... | ... | @@ -4670,7 +4669,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 4670 | 4669 | }, |
| 4671 | 4670 | .extra_temps = .{ |
| 4672 | 4671 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 4673 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 4672 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 4674 | 4673 | .unused, |
| 4675 | 4674 | .unused, |
| 4676 | 4675 | .unused, |
| ... | ... | @@ -4700,7 +4699,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 4700 | 4699 | }, |
| 4701 | 4700 | .extra_temps = .{ |
| 4702 | 4701 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 4703 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 4702 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 4704 | 4703 | .unused, |
| 4705 | 4704 | .unused, |
| 4706 | 4705 | .unused, |
| ... | ... | @@ -4731,7 +4730,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 4731 | 4730 | }, |
| 4732 | 4731 | .extra_temps = .{ |
| 4733 | 4732 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 4734 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 4733 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 4735 | 4734 | .unused, |
| 4736 | 4735 | .unused, |
| 4737 | 4736 | .unused, |
| ... | ... | @@ -4763,7 +4762,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 4763 | 4762 | }, |
| 4764 | 4763 | .extra_temps = .{ |
| 4765 | 4764 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 4766 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 4765 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 4767 | 4766 | .unused, |
| 4768 | 4767 | .unused, |
| 4769 | 4768 | .unused, |
| ... | ... | @@ -4795,7 +4794,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 4795 | 4794 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, |
| 4796 | 4795 | }, |
| 4797 | 4796 | .extra_temps = .{ |
| 4798 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 4797 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 4799 | 4798 | .unused, |
| 4800 | 4799 | .unused, |
| 4801 | 4800 | .unused, |
| ... | ... | @@ -4824,7 +4823,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 4824 | 4823 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 4825 | 4824 | }, |
| 4826 | 4825 | .extra_temps = .{ |
| 4827 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 4826 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 4828 | 4827 | .unused, |
| 4829 | 4828 | .unused, |
| 4830 | 4829 | .unused, |
| ... | ... | @@ -4853,7 +4852,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 4853 | 4852 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, |
| 4854 | 4853 | }, |
| 4855 | 4854 | .extra_temps = .{ |
| 4856 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 4855 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 4857 | 4856 | .unused, |
| 4858 | 4857 | .unused, |
| 4859 | 4858 | .unused, |
| ... | ... | @@ -4883,7 +4882,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 4883 | 4882 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 4884 | 4883 | }, |
| 4885 | 4884 | .extra_temps = .{ |
| 4886 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 4885 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 4887 | 4886 | .unused, |
| 4888 | 4887 | .unused, |
| 4889 | 4888 | .unused, |
| ... | ... | @@ -4916,7 +4915,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 4916 | 4915 | }, |
| 4917 | 4916 | .extra_temps = .{ |
| 4918 | 4917 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 4919 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 4918 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 4920 | 4919 | .unused, |
| 4921 | 4920 | .unused, |
| 4922 | 4921 | .unused, |
| ... | ... | @@ -4946,7 +4945,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 4946 | 4945 | }, |
| 4947 | 4946 | .extra_temps = .{ |
| 4948 | 4947 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 4949 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 4948 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 4950 | 4949 | .unused, |
| 4951 | 4950 | .unused, |
| 4952 | 4951 | .unused, |
| ... | ... | @@ -4977,7 +4976,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 4977 | 4976 | }, |
| 4978 | 4977 | .extra_temps = .{ |
| 4979 | 4978 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 4980 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 4979 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 4981 | 4980 | .unused, |
| 4982 | 4981 | .unused, |
| 4983 | 4982 | .unused, |
| ... | ... | @@ -5009,7 +5008,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 5009 | 5008 | }, |
| 5010 | 5009 | .extra_temps = .{ |
| 5011 | 5010 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 5012 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 5011 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 5013 | 5012 | .unused, |
| 5014 | 5013 | .unused, |
| 5015 | 5014 | .unused, |
| ... | ... | @@ -5042,7 +5041,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 5042 | 5041 | }, |
| 5043 | 5042 | .extra_temps = .{ |
| 5044 | 5043 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 5045 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 5044 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 5046 | 5045 | .unused, |
| 5047 | 5046 | .unused, |
| 5048 | 5047 | .unused, |
| ... | ... | @@ -5073,7 +5072,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 5073 | 5072 | }, |
| 5074 | 5073 | .extra_temps = .{ |
| 5075 | 5074 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 5076 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 5075 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 5077 | 5076 | .unused, |
| 5078 | 5077 | .unused, |
| 5079 | 5078 | .unused, |
| ... | ... | @@ -5105,7 +5104,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 5105 | 5104 | }, |
| 5106 | 5105 | .extra_temps = .{ |
| 5107 | 5106 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 5108 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 5107 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 5109 | 5108 | .unused, |
| 5110 | 5109 | .unused, |
| 5111 | 5110 | .unused, |
| ... | ... | @@ -5138,7 +5137,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 5138 | 5137 | }, |
| 5139 | 5138 | .extra_temps = .{ |
| 5140 | 5139 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 5141 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 5140 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 5142 | 5141 | .unused, |
| 5143 | 5142 | .unused, |
| 5144 | 5143 | .unused, |
| ... | ... | @@ -5171,7 +5170,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 5171 | 5170 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, |
| 5172 | 5171 | }, |
| 5173 | 5172 | .extra_temps = .{ |
| 5174 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 5173 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 5175 | 5174 | .unused, |
| 5176 | 5175 | .unused, |
| 5177 | 5176 | .unused, |
| ... | ... | @@ -5201,7 +5200,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 5201 | 5200 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 5202 | 5201 | }, |
| 5203 | 5202 | .extra_temps = .{ |
| 5204 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 5203 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 5205 | 5204 | .unused, |
| 5206 | 5205 | .unused, |
| 5207 | 5206 | .unused, |
| ... | ... | @@ -5231,7 +5230,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 5231 | 5230 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, |
| 5232 | 5231 | }, |
| 5233 | 5232 | .extra_temps = .{ |
| 5234 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 5233 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 5235 | 5234 | .unused, |
| 5236 | 5235 | .unused, |
| 5237 | 5236 | .unused, |
| ... | ... | @@ -5262,7 +5261,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 5262 | 5261 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 5263 | 5262 | }, |
| 5264 | 5263 | .extra_temps = .{ |
| 5265 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 5264 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 5266 | 5265 | .unused, |
| 5267 | 5266 | .unused, |
| 5268 | 5267 | .unused, |
| ... | ... | @@ -5295,7 +5294,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 5295 | 5294 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 5296 | 5295 | }, |
| 5297 | 5296 | .extra_temps = .{ |
| 5298 | | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| 5297 | .{ .type = .u16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 5299 | 5298 | .unused, |
| 5300 | 5299 | .unused, |
| 5301 | 5300 | .unused, |
| ... | ... | @@ -5322,7 +5321,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 5322 | 5321 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, |
| 5323 | 5322 | }, |
| 5324 | 5323 | .extra_temps = .{ |
| 5325 | | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| 5324 | .{ .type = .u16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 5326 | 5325 | .unused, |
| 5327 | 5326 | .unused, |
| 5328 | 5327 | .unused, |
| ... | ... | @@ -5351,7 +5350,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 5351 | 5350 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 5352 | 5351 | }, |
| 5353 | 5352 | .extra_temps = .{ |
| 5354 | | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| 5353 | .{ .type = .u16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 5355 | 5354 | .unused, |
| 5356 | 5355 | .unused, |
| 5357 | 5356 | .unused, |
| ... | ... | @@ -5492,7 +5491,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 5492 | 5491 | }, |
| 5493 | 5492 | .extra_temps = .{ |
| 5494 | 5493 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 5495 | | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 5494 | .{ .type = .i32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 5496 | 5495 | .unused, |
| 5497 | 5496 | .unused, |
| 5498 | 5497 | .unused, |
| ... | ... | @@ -5524,7 +5523,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 5524 | 5523 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 5525 | 5524 | }, |
| 5526 | 5525 | .extra_temps = .{ |
| 5527 | | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 5526 | .{ .type = .i32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 5528 | 5527 | .unused, |
| 5529 | 5528 | .unused, |
| 5530 | 5529 | .unused, |
| ... | ... | @@ -5558,7 +5557,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 5558 | 5557 | }, |
| 5559 | 5558 | .extra_temps = .{ |
| 5560 | 5559 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 5561 | | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 5560 | .{ .type = .i32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 5562 | 5561 | .unused, |
| 5563 | 5562 | .unused, |
| 5564 | 5563 | .unused, |
| ... | ... | @@ -5592,7 +5591,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 5592 | 5591 | }, |
| 5593 | 5592 | .extra_temps = .{ |
| 5594 | 5593 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 5595 | | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 5594 | .{ .type = .i32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 5596 | 5595 | .unused, |
| 5597 | 5596 | .unused, |
| 5598 | 5597 | .unused, |
| ... | ... | @@ -5625,7 +5624,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 5625 | 5624 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 5626 | 5625 | }, |
| 5627 | 5626 | .extra_temps = .{ |
| 5628 | | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 5627 | .{ .type = .i32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 5629 | 5628 | .unused, |
| 5630 | 5629 | .unused, |
| 5631 | 5630 | .unused, |
| ... | ... | @@ -5658,7 +5657,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 5658 | 5657 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 5659 | 5658 | }, |
| 5660 | 5659 | .extra_temps = .{ |
| 5661 | | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 5660 | .{ .type = .u32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 5662 | 5661 | .unused, |
| 5663 | 5662 | .unused, |
| 5664 | 5663 | .unused, |
| ... | ... | @@ -5688,7 +5687,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 5688 | 5687 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 5689 | 5688 | }, |
| 5690 | 5689 | .extra_temps = .{ |
| 5691 | | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 5690 | .{ .type = .u32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 5692 | 5691 | .unused, |
| 5693 | 5692 | .unused, |
| 5694 | 5693 | .unused, |
| ... | ... | @@ -5737,7 +5736,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 5737 | 5736 | }, |
| 5738 | 5737 | .extra_temps = .{ |
| 5739 | 5738 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 5740 | | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 5739 | .{ .type = .i64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 5741 | 5740 | .unused, |
| 5742 | 5741 | .unused, |
| 5743 | 5742 | .unused, |
| ... | ... | @@ -5769,7 +5768,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 5769 | 5768 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 5770 | 5769 | }, |
| 5771 | 5770 | .extra_temps = .{ |
| 5772 | | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 5771 | .{ .type = .i64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 5773 | 5772 | .unused, |
| 5774 | 5773 | .unused, |
| 5775 | 5774 | .unused, |
| ... | ... | @@ -5802,7 +5801,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 5802 | 5801 | }, |
| 5803 | 5802 | .extra_temps = .{ |
| 5804 | 5803 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 5805 | | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 5804 | .{ .type = .i64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 5806 | 5805 | .unused, |
| 5807 | 5806 | .unused, |
| 5808 | 5807 | .unused, |
| ... | ... | @@ -5836,7 +5835,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 5836 | 5835 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 5837 | 5836 | }, |
| 5838 | 5837 | .extra_temps = .{ |
| 5839 | | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 5838 | .{ .type = .i64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 5840 | 5839 | .unused, |
| 5841 | 5840 | .unused, |
| 5842 | 5841 | .unused, |
| ... | ... | @@ -5871,7 +5870,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 5871 | 5870 | }, |
| 5872 | 5871 | .extra_temps = .{ |
| 5873 | 5872 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 5874 | | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 5873 | .{ .type = .i64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 5875 | 5874 | .unused, |
| 5876 | 5875 | .unused, |
| 5877 | 5876 | .unused, |
| ... | ... | @@ -5906,7 +5905,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 5906 | 5905 | }, |
| 5907 | 5906 | .extra_temps = .{ |
| 5908 | 5907 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 5909 | | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 5908 | .{ .type = .i64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 5910 | 5909 | .unused, |
| 5911 | 5910 | .unused, |
| 5912 | 5911 | .unused, |
| ... | ... | @@ -5941,7 +5940,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 5941 | 5940 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 5942 | 5941 | }, |
| 5943 | 5942 | .extra_temps = .{ |
| 5944 | | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 5943 | .{ .type = .i64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 5945 | 5944 | .unused, |
| 5946 | 5945 | .unused, |
| 5947 | 5946 | .unused, |
| ... | ... | @@ -5976,7 +5975,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 5976 | 5975 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 5977 | 5976 | }, |
| 5978 | 5977 | .extra_temps = .{ |
| 5979 | | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 5978 | .{ .type = .u64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 5980 | 5979 | .unused, |
| 5981 | 5980 | .unused, |
| 5982 | 5981 | .unused, |
| ... | ... | @@ -6006,7 +6005,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 6006 | 6005 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 6007 | 6006 | }, |
| 6008 | 6007 | .extra_temps = .{ |
| 6009 | | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 6008 | .{ .type = .u64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 6010 | 6009 | .unused, |
| 6011 | 6010 | .unused, |
| 6012 | 6011 | .unused, |
| ... | ... | @@ -6037,7 +6036,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 6037 | 6036 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 6038 | 6037 | }, |
| 6039 | 6038 | .extra_temps = .{ |
| 6040 | | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 6039 | .{ .type = .u64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 6041 | 6040 | .unused, |
| 6042 | 6041 | .unused, |
| 6043 | 6042 | .unused, |
| ... | ... | @@ -6079,8 +6078,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 6079 | 6078 | }, .{ |
| 6080 | 6079 | .required_features = .{ .@"64bit", null, null, null }, |
| 6081 | 6080 | .src_constraints = .{ |
| 6082 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 6083 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 6081 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } }, |
| 6082 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } }, |
| 6084 | 6083 | .any, |
| 6085 | 6084 | }, |
| 6086 | 6085 | .patterns = &.{ |
| ... | ... | @@ -6123,8 +6122,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 6123 | 6122 | }, .{ |
| 6124 | 6123 | .required_features = .{ .@"64bit", null, null, null }, |
| 6125 | 6124 | .src_constraints = .{ |
| 6126 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 6127 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 6125 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } }, |
| 6126 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } }, |
| 6128 | 6127 | .any, |
| 6129 | 6128 | }, |
| 6130 | 6129 | .patterns = &.{ |
| ... | ... | @@ -6162,8 +6161,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 6162 | 6161 | }, .{ |
| 6163 | 6162 | .required_features = .{ .@"64bit", null, null, null }, |
| 6164 | 6163 | .src_constraints = .{ |
| 6165 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 6166 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 6164 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, |
| 6165 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, |
| 6167 | 6166 | .any, |
| 6168 | 6167 | }, |
| 6169 | 6168 | .patterns = &.{ |
| ... | ... | @@ -6208,8 +6207,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 6208 | 6207 | }, .{ |
| 6209 | 6208 | .required_features = .{ .@"64bit", null, null, null }, |
| 6210 | 6209 | .src_constraints = .{ |
| 6211 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 6212 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 6210 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 6211 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 6213 | 6212 | .any, |
| 6214 | 6213 | }, |
| 6215 | 6214 | .patterns = &.{ |
| ... | ... | @@ -14984,7 +14983,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 14984 | 14983 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 14985 | 14984 | }, |
| 14986 | 14985 | .extra_temps = .{ |
| 14987 | | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 14986 | .{ .type = .u8, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 14988 | 14987 | .unused, |
| 14989 | 14988 | .unused, |
| 14990 | 14989 | .unused, |
| ... | ... | @@ -15104,7 +15103,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 15104 | 15103 | }, |
| 15105 | 15104 | .extra_temps = .{ |
| 15106 | 15105 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15107 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15106 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 15108 | 15107 | .unused, |
| 15109 | 15108 | .unused, |
| 15110 | 15109 | .unused, |
| ... | ... | @@ -15134,7 +15133,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 15134 | 15133 | }, |
| 15135 | 15134 | .extra_temps = .{ |
| 15136 | 15135 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15137 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15136 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 15138 | 15137 | .unused, |
| 15139 | 15138 | .unused, |
| 15140 | 15139 | .unused, |
| ... | ... | @@ -15164,7 +15163,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 15164 | 15163 | }, |
| 15165 | 15164 | .extra_temps = .{ |
| 15166 | 15165 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15167 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15166 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 15168 | 15167 | .unused, |
| 15169 | 15168 | .unused, |
| 15170 | 15169 | .unused, |
| ... | ... | @@ -15195,7 +15194,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 15195 | 15194 | }, |
| 15196 | 15195 | .extra_temps = .{ |
| 15197 | 15196 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15198 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15197 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 15199 | 15198 | .unused, |
| 15200 | 15199 | .unused, |
| 15201 | 15200 | .unused, |
| ... | ... | @@ -15225,7 +15224,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 15225 | 15224 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, |
| 15226 | 15225 | }, |
| 15227 | 15226 | .extra_temps = .{ |
| 15228 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15227 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 15229 | 15228 | .unused, |
| 15230 | 15229 | .unused, |
| 15231 | 15230 | .unused, |
| ... | ... | @@ -15254,7 +15253,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 15254 | 15253 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 15255 | 15254 | }, |
| 15256 | 15255 | .extra_temps = .{ |
| 15257 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15256 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 15258 | 15257 | .unused, |
| 15259 | 15258 | .unused, |
| 15260 | 15259 | .unused, |
| ... | ... | @@ -15282,7 +15281,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 15282 | 15281 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, |
| 15283 | 15282 | }, |
| 15284 | 15283 | .extra_temps = .{ |
| 15285 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15284 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 15286 | 15285 | .unused, |
| 15287 | 15286 | .unused, |
| 15288 | 15287 | .unused, |
| ... | ... | @@ -15311,7 +15310,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 15311 | 15310 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 15312 | 15311 | }, |
| 15313 | 15312 | .extra_temps = .{ |
| 15314 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15313 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 15315 | 15314 | .unused, |
| 15316 | 15315 | .unused, |
| 15317 | 15316 | .unused, |
| ... | ... | @@ -15342,7 +15341,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 15342 | 15341 | }, |
| 15343 | 15342 | .extra_temps = .{ |
| 15344 | 15343 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15345 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15344 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 15346 | 15345 | .unused, |
| 15347 | 15346 | .unused, |
| 15348 | 15347 | .unused, |
| ... | ... | @@ -15372,7 +15371,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 15372 | 15371 | }, |
| 15373 | 15372 | .extra_temps = .{ |
| 15374 | 15373 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15375 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15374 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 15376 | 15375 | .unused, |
| 15377 | 15376 | .unused, |
| 15378 | 15377 | .unused, |
| ... | ... | @@ -15402,7 +15401,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 15402 | 15401 | }, |
| 15403 | 15402 | .extra_temps = .{ |
| 15404 | 15403 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15405 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15404 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 15406 | 15405 | .unused, |
| 15407 | 15406 | .unused, |
| 15408 | 15407 | .unused, |
| ... | ... | @@ -15433,7 +15432,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 15433 | 15432 | }, |
| 15434 | 15433 | .extra_temps = .{ |
| 15435 | 15434 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15436 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15435 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 15437 | 15436 | .unused, |
| 15438 | 15437 | .unused, |
| 15439 | 15438 | .unused, |
| ... | ... | @@ -15464,7 +15463,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 15464 | 15463 | }, |
| 15465 | 15464 | .extra_temps = .{ |
| 15466 | 15465 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15467 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15466 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 15468 | 15467 | .unused, |
| 15469 | 15468 | .unused, |
| 15470 | 15469 | .unused, |
| ... | ... | @@ -15495,7 +15494,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 15495 | 15494 | }, |
| 15496 | 15495 | .extra_temps = .{ |
| 15497 | 15496 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15498 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15497 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 15499 | 15498 | .unused, |
| 15500 | 15499 | .unused, |
| 15501 | 15500 | .unused, |
| ... | ... | @@ -15526,7 +15525,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 15526 | 15525 | }, |
| 15527 | 15526 | .extra_temps = .{ |
| 15528 | 15527 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15529 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15528 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 15530 | 15529 | .unused, |
| 15531 | 15530 | .unused, |
| 15532 | 15531 | .unused, |
| ... | ... | @@ -15558,7 +15557,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 15558 | 15557 | }, |
| 15559 | 15558 | .extra_temps = .{ |
| 15560 | 15559 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15561 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15560 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 15562 | 15561 | .unused, |
| 15563 | 15562 | .unused, |
| 15564 | 15563 | .unused, |
| ... | ... | @@ -15589,7 +15588,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 15589 | 15588 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, |
| 15590 | 15589 | }, |
| 15591 | 15590 | .extra_temps = .{ |
| 15592 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15591 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 15593 | 15592 | .unused, |
| 15594 | 15593 | .unused, |
| 15595 | 15594 | .unused, |
| ... | ... | @@ -15619,7 +15618,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 15619 | 15618 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 15620 | 15619 | }, |
| 15621 | 15620 | .extra_temps = .{ |
| 15622 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15621 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 15623 | 15622 | .unused, |
| 15624 | 15623 | .unused, |
| 15625 | 15624 | .unused, |
| ... | ... | @@ -15648,7 +15647,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 15648 | 15647 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, |
| 15649 | 15648 | }, |
| 15650 | 15649 | .extra_temps = .{ |
| 15651 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15650 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 15652 | 15651 | .unused, |
| 15653 | 15652 | .unused, |
| 15654 | 15653 | .unused, |
| ... | ... | @@ -15678,7 +15677,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 15678 | 15677 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 15679 | 15678 | }, |
| 15680 | 15679 | .extra_temps = .{ |
| 15681 | | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 15680 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 15682 | 15681 | .unused, |
| 15683 | 15682 | .unused, |
| 15684 | 15683 | .unused, |
| ... | ... | @@ -15737,7 +15736,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 15737 | 15736 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 15738 | 15737 | }, |
| 15739 | 15738 | .extra_temps = .{ |
| 15740 | | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| 15739 | .{ .type = .u16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 15741 | 15740 | .unused, |
| 15742 | 15741 | .unused, |
| 15743 | 15742 | .unused, |
| ... | ... | @@ -15812,7 +15811,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 15812 | 15811 | }, |
| 15813 | 15812 | .extra_temps = .{ |
| 15814 | 15813 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 15815 | | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 15814 | .{ .type = .i32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 15816 | 15815 | .unused, |
| 15817 | 15816 | .unused, |
| 15818 | 15817 | .unused, |
| ... | ... | @@ -15842,7 +15841,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 15842 | 15841 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 15843 | 15842 | }, |
| 15844 | 15843 | .extra_temps = .{ |
| 15845 | | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 15844 | .{ .type = .i32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 15846 | 15845 | .unused, |
| 15847 | 15846 | .unused, |
| 15848 | 15847 | .unused, |
| ... | ... | @@ -15874,7 +15873,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 15874 | 15873 | }, |
| 15875 | 15874 | .extra_temps = .{ |
| 15876 | 15875 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 15877 | | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 15876 | .{ .type = .i32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 15878 | 15877 | .unused, |
| 15879 | 15878 | .unused, |
| 15880 | 15879 | .unused, |
| ... | ... | @@ -15906,7 +15905,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 15906 | 15905 | }, |
| 15907 | 15906 | .extra_temps = .{ |
| 15908 | 15907 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 15909 | | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 15908 | .{ .type = .i32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 15910 | 15909 | .unused, |
| 15911 | 15910 | .unused, |
| 15912 | 15911 | .unused, |
| ... | ... | @@ -15937,7 +15936,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 15937 | 15936 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 15938 | 15937 | }, |
| 15939 | 15938 | .extra_temps = .{ |
| 15940 | | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 15939 | .{ .type = .i32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 15941 | 15940 | .unused, |
| 15942 | 15941 | .unused, |
| 15943 | 15942 | .unused, |
| ... | ... | @@ -15996,7 +15995,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 15996 | 15995 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 15997 | 15996 | }, |
| 15998 | 15997 | .extra_temps = .{ |
| 15999 | | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 15998 | .{ .type = .u32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 16000 | 15999 | .unused, |
| 16001 | 16000 | .unused, |
| 16002 | 16001 | .unused, |
| ... | ... | @@ -16056,7 +16055,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 16056 | 16055 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 16057 | 16056 | }, |
| 16058 | 16057 | .extra_temps = .{ |
| 16059 | | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 16058 | .{ .type = .i64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 16060 | 16059 | .unused, |
| 16061 | 16060 | .unused, |
| 16062 | 16061 | .unused, |
| ... | ... | @@ -16087,7 +16086,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 16087 | 16086 | }, |
| 16088 | 16087 | .extra_temps = .{ |
| 16089 | 16088 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 16090 | | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 16089 | .{ .type = .i64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 16091 | 16090 | .unused, |
| 16092 | 16091 | .unused, |
| 16093 | 16092 | .unused, |
| ... | ... | @@ -16119,7 +16118,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 16119 | 16118 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 16120 | 16119 | }, |
| 16121 | 16120 | .extra_temps = .{ |
| 16122 | | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 16121 | .{ .type = .i64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 16123 | 16122 | .unused, |
| 16124 | 16123 | .unused, |
| 16125 | 16124 | .unused, |
| ... | ... | @@ -16152,7 +16151,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 16152 | 16151 | }, |
| 16153 | 16152 | .extra_temps = .{ |
| 16154 | 16153 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 16155 | | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 16154 | .{ .type = .i64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 16156 | 16155 | .unused, |
| 16157 | 16156 | .unused, |
| 16158 | 16157 | .unused, |
| ... | ... | @@ -16185,7 +16184,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 16185 | 16184 | }, |
| 16186 | 16185 | .extra_temps = .{ |
| 16187 | 16186 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 16188 | | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 16187 | .{ .type = .i64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 16189 | 16188 | .unused, |
| 16190 | 16189 | .unused, |
| 16191 | 16190 | .unused, |
| ... | ... | @@ -16218,7 +16217,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 16218 | 16217 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 16219 | 16218 | }, |
| 16220 | 16219 | .extra_temps = .{ |
| 16221 | | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 16220 | .{ .type = .i64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 16222 | 16221 | .unused, |
| 16223 | 16222 | .unused, |
| 16224 | 16223 | .unused, |
| ... | ... | @@ -16279,7 +16278,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 16279 | 16278 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 16280 | 16279 | }, |
| 16281 | 16280 | .extra_temps = .{ |
| 16282 | | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 16281 | .{ .type = .u64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 16283 | 16282 | .unused, |
| 16284 | 16283 | .unused, |
| 16285 | 16284 | .unused, |
| ... | ... | @@ -16302,8 +16301,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 16302 | 16301 | }, .{ |
| 16303 | 16302 | .required_features = .{ .@"64bit", null, null, null }, |
| 16304 | 16303 | .src_constraints = .{ |
| 16305 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 16306 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 16304 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } }, |
| 16305 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } }, |
| 16307 | 16306 | .any, |
| 16308 | 16307 | }, |
| 16309 | 16308 | .patterns = &.{ |
| ... | ... | @@ -16346,8 +16345,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 16346 | 16345 | }, .{ |
| 16347 | 16346 | .required_features = .{ .@"64bit", null, null, null }, |
| 16348 | 16347 | .src_constraints = .{ |
| 16349 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 16350 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 16348 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, |
| 16349 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, |
| 16351 | 16350 | .any, |
| 16352 | 16351 | }, |
| 16353 | 16352 | .patterns = &.{ |
| ... | ... | @@ -27013,27 +27012,35 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 27013 | 27012 | }; |
| 27014 | 27013 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 27015 | 27014 | }, |
| 27016 | | .div_float, .div_float_optimized, .div_exact, .div_exact_optimized => |air_tag| if (use_old) try cg.airMulDivBinOp(inst, switch (air_tag) { |
| 27017 | | else => unreachable, |
| 27018 | | .div_float, .div_float_optimized => .div_float, |
| 27019 | | .div_exact, .div_exact_optimized => .div_exact, |
| 27020 | | }) else { |
| 27015 | .mul_sat => |air_tag| if (use_old) try cg.airMulSat(inst) else fallback: { |
| 27021 | 27016 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| 27022 | | const ty = cg.typeOf(bin_op.lhs); |
| 27017 | if (cg.typeOf(bin_op.lhs).isVector(zcu)) break :fallback try cg.airMulSat(inst); |
| 27023 | 27018 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| 27024 | 27019 | var res: [1]Temp = undefined; |
| 27025 | | (if (cg.floatBits(ty.scalarType(zcu))) |_| cg.select(&res, &.{ty}, &ops, comptime &.{ .{ |
| 27026 | | .required_features = .{ .f16c, null, null, null }, |
| 27027 | | .src_constraints = .{ |
| 27028 | | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| 27029 | | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| 27030 | | .any, |
| 27020 | cg.select(&res, &.{cg.typeOf(bin_op.lhs)}, &ops, comptime &.{ .{ |
| 27021 | .src_constraints = .{ .{ .exact_signed_int = 8 }, .{ .exact_signed_int = 8 }, .any }, |
| 27022 | .patterns = &.{ |
| 27023 | .{ .src = .{ .{ .to_reg = .al }, .mem, .none } }, |
| 27024 | .{ .src = .{ .mem, .{ .to_reg = .al }, .none }, .commute = .{ 0, 1 } }, |
| 27025 | .{ .src = .{ .{ .to_reg = .al }, .to_gpr, .none } }, |
| 27031 | 27026 | }, |
| 27027 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 27028 | .clobbers = .{ .eflags = true }, |
| 27029 | .each = .{ .once = &.{ |
| 27030 | .{ ._, .i_, .mul, .src1b, ._, ._, ._ }, |
| 27031 | .{ ._, ._nc, .j, .@"0f", ._, ._, ._ }, |
| 27032 | .{ ._, ._r, .sa, .dst0w, .ui(15), ._, ._ }, |
| 27033 | .{ ._, ._, .xor, .dst0b, .sa(.src0, .add_smax), ._, ._ }, |
| 27034 | } }, |
| 27035 | }, .{ |
| 27036 | .src_constraints = .{ .{ .signed_int = .byte }, .{ .signed_int = .byte }, .any }, |
| 27032 | 27037 | .patterns = &.{ |
| 27033 | | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 27038 | .{ .src = .{ .{ .to_reg = .al }, .mem, .none } }, |
| 27039 | .{ .src = .{ .mem, .{ .to_reg = .al }, .none }, .commute = .{ 0, 1 } }, |
| 27040 | .{ .src = .{ .{ .to_reg = .al }, .to_gpr, .none } }, |
| 27034 | 27041 | }, |
| 27035 | 27042 | .extra_temps = .{ |
| 27036 | | .{ .type = .f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, |
| 27043 | .{ .type = .i8, .kind = .{ .rc = .gphi } }, |
| 27037 | 27044 | .unused, |
| 27038 | 27045 | .unused, |
| 27039 | 27046 | .unused, |
| ... | ... | @@ -27045,26 +27052,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 27045 | 27052 | .unused, |
| 27046 | 27053 | .unused, |
| 27047 | 27054 | }, |
| 27048 | | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 27055 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 27056 | .clobbers = .{ .eflags = true }, |
| 27049 | 27057 | .each = .{ .once = &.{ |
| 27050 | | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| 27051 | | .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ }, |
| 27052 | | .{ ._, .v_ss, .div, .dst0x, .dst0x, .tmp0d, ._ }, |
| 27053 | | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| 27058 | .{ ._, .i_, .mul, .src1b, ._, ._, ._ }, |
| 27059 | .{ ._, ._c, .j, .@"1f", ._, ._, ._ }, |
| 27060 | .{ ._, ._, .mov, .tmp0d, .dst0d, ._, ._ }, |
| 27061 | .{ ._, ._r, .sa, .tmp0b, .sia(-1, .src0, .add_bit_size), ._, ._ }, |
| 27062 | .{ ._, ._, .cmp, .tmp0b, .dst0h, ._, ._ }, |
| 27063 | .{ ._, ._e, .j, .@"0f", ._, ._, ._ }, |
| 27064 | .{ .@"1:", ._r, .sa, .dst0w, .ui(15), ._, ._ }, |
| 27065 | .{ ._, ._, .xor, .dst0b, .sa(.src0, .add_smax), ._, ._ }, |
| 27054 | 27066 | } }, |
| 27055 | 27067 | }, .{ |
| 27056 | | .required_features = .{ .sse, null, null, null }, |
| 27057 | | .src_constraints = .{ |
| 27058 | | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| 27059 | | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| 27060 | | .any, |
| 27061 | | }, |
| 27068 | .src_constraints = .{ .{ .exact_unsigned_int = 8 }, .{ .exact_unsigned_int = 8 }, .any }, |
| 27062 | 27069 | .patterns = &.{ |
| 27063 | | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, |
| 27070 | .{ .src = .{ .{ .to_reg = .al }, .mem, .none } }, |
| 27071 | .{ .src = .{ .mem, .{ .to_reg = .al }, .none }, .commute = .{ 0, 1 } }, |
| 27072 | .{ .src = .{ .{ .to_reg = .al }, .to_gpr, .none } }, |
| 27064 | 27073 | }, |
| 27065 | | .call_frame = .{ .alignment = .@"16" }, |
| 27066 | 27074 | .extra_temps = .{ |
| 27067 | | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } }, |
| 27075 | .{ .type = .u8, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 27068 | 27076 | .unused, |
| 27069 | 27077 | .unused, |
| 27070 | 27078 | .unused, |
| ... | ... | @@ -27077,25 +27085,22 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 27077 | 27085 | .unused, |
| 27078 | 27086 | }, |
| 27079 | 27087 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 27080 | | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 27088 | .clobbers = .{ .eflags = true }, |
| 27081 | 27089 | .each = .{ .once = &.{ |
| 27082 | | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 27090 | .{ ._, ._, .mul, .src1b, ._, ._, ._ }, |
| 27091 | .{ ._, ._, .sbb, .tmp0d, .tmp0d, ._, ._ }, |
| 27092 | .{ ._, ._, .@"or", .dst0b, .tmp0b, ._, ._ }, |
| 27083 | 27093 | } }, |
| 27084 | 27094 | }, .{ |
| 27085 | | .required_features = .{ .f16c, null, null, null }, |
| 27086 | | .src_constraints = .{ |
| 27087 | | .{ .scalar_float = .{ .of = .qword, .is = .word } }, |
| 27088 | | .{ .scalar_float = .{ .of = .qword, .is = .word } }, |
| 27089 | | .any, |
| 27090 | | }, |
| 27095 | .required_features = .{ .cmov, null, null, null }, |
| 27096 | .src_constraints = .{ .{ .unsigned_int = .byte }, .{ .unsigned_int = .byte }, .any }, |
| 27091 | 27097 | .patterns = &.{ |
| 27092 | | .{ .src = .{ .mem, .mem, .none } }, |
| 27093 | | .{ .src = .{ .to_sse, .mem, .none } }, |
| 27094 | | .{ .src = .{ .mem, .to_sse, .none } }, |
| 27095 | | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 27098 | .{ .src = .{ .{ .to_reg = .al }, .mem, .none } }, |
| 27099 | .{ .src = .{ .mem, .{ .to_reg = .al }, .none }, .commute = .{ 0, 1 } }, |
| 27100 | .{ .src = .{ .{ .to_reg = .al }, .to_gpr, .none } }, |
| 27096 | 27101 | }, |
| 27097 | 27102 | .extra_temps = .{ |
| 27098 | | .{ .type = .vector_4_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, |
| 27103 | .{ .type = .u16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 27099 | 27104 | .unused, |
| 27100 | 27105 | .unused, |
| 27101 | 27106 | .unused, |
| ... | ... | @@ -27107,28 +27112,23 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 27107 | 27112 | .unused, |
| 27108 | 27113 | .unused, |
| 27109 | 27114 | }, |
| 27110 | | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 27115 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 27116 | .clobbers = .{ .eflags = true }, |
| 27111 | 27117 | .each = .{ .once = &.{ |
| 27112 | | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| 27113 | | .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ }, |
| 27114 | | .{ ._, .v_ps, .div, .dst0x, .dst0x, .tmp0x, ._ }, |
| 27115 | | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| 27118 | .{ ._, ._, .mul, .src1b, ._, ._, ._ }, |
| 27119 | .{ ._, ._, .mov, .tmp0d, .ua(.src0, .add_umax), ._, ._ }, |
| 27120 | .{ ._, ._, .cmp, .dst0w, .tmp0w, ._, ._ }, |
| 27121 | .{ ._, ._a, .cmov, .dst0d, .tmp0d, ._, ._ }, |
| 27116 | 27122 | } }, |
| 27117 | 27123 | }, .{ |
| 27118 | | .required_features = .{ .f16c, null, null, null }, |
| 27119 | | .src_constraints = .{ |
| 27120 | | .{ .scalar_float = .{ .of = .xword, .is = .word } }, |
| 27121 | | .{ .scalar_float = .{ .of = .xword, .is = .word } }, |
| 27122 | | .any, |
| 27123 | | }, |
| 27124 | .src_constraints = .{ .{ .unsigned_int = .byte }, .{ .unsigned_int = .byte }, .any }, |
| 27124 | 27125 | .patterns = &.{ |
| 27125 | | .{ .src = .{ .mem, .mem, .none } }, |
| 27126 | | .{ .src = .{ .to_sse, .mem, .none } }, |
| 27127 | | .{ .src = .{ .mem, .to_sse, .none } }, |
| 27128 | | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 27126 | .{ .src = .{ .{ .to_reg = .al }, .mem, .none } }, |
| 27127 | .{ .src = .{ .mem, .{ .to_reg = .al }, .none }, .commute = .{ 0, 1 } }, |
| 27128 | .{ .src = .{ .{ .to_reg = .al }, .to_gpr, .none } }, |
| 27129 | 27129 | }, |
| 27130 | 27130 | .extra_temps = .{ |
| 27131 | | .{ .type = .vector_8_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, |
| 27131 | .{ .type = .u16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 27132 | 27132 | .unused, |
| 27133 | 27133 | .unused, |
| 27134 | 27134 | .unused, |
| ... | ... | @@ -27140,27 +27140,26 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 27140 | 27140 | .unused, |
| 27141 | 27141 | .unused, |
| 27142 | 27142 | }, |
| 27143 | | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 27143 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 27144 | .clobbers = .{ .eflags = true }, |
| 27144 | 27145 | .each = .{ .once = &.{ |
| 27145 | | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, |
| 27146 | | .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ }, |
| 27147 | | .{ ._, .v_ps, .div, .dst0y, .dst0y, .tmp0y, ._ }, |
| 27148 | | .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ }, |
| 27146 | .{ ._, ._, .mul, .src1b, ._, ._, ._ }, |
| 27147 | .{ ._, ._, .cmp, .dst0w, .ua(.src0, .add_umax), ._, ._ }, |
| 27148 | .{ ._, ._na, .j, .@"0f", ._, ._, ._ }, |
| 27149 | .{ ._, ._, .mov, .dst0d, .ua(.src0, .add_umax), ._, ._ }, |
| 27149 | 27150 | } }, |
| 27150 | 27151 | }, .{ |
| 27151 | | .required_features = .{ .f16c, null, null, null }, |
| 27152 | | .src_constraints = .{ |
| 27153 | | .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, |
| 27154 | | .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, |
| 27155 | | .any, |
| 27156 | | }, |
| 27152 | .required_features = .{ .fast_imm16, null, null, null }, |
| 27153 | .src_constraints = .{ .{ .exact_signed_int = 16 }, .{ .exact_signed_int = 16 }, .any }, |
| 27157 | 27154 | .patterns = &.{ |
| 27158 | | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 27155 | .{ .src = .{ .{ .to_reg = .ax }, .mem, .none } }, |
| 27156 | .{ .src = .{ .mem, .{ .to_reg = .ax }, .none }, .commute = .{ 0, 1 } }, |
| 27157 | .{ .src = .{ .{ .to_reg = .ax }, .to_gpr, .none } }, |
| 27159 | 27158 | }, |
| 27160 | 27159 | .extra_temps = .{ |
| 27161 | | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 27162 | | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| 27163 | | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| 27160 | .{ .type = .i16, .kind = .{ .reg = .dx } }, |
| 27161 | .unused, |
| 27162 | .unused, |
| 27164 | 27163 | .unused, |
| 27165 | 27164 | .unused, |
| 27166 | 27165 | .unused, |
| ... | ... | @@ -27170,33 +27169,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 27170 | 27169 | .unused, |
| 27171 | 27170 | .unused, |
| 27172 | 27171 | }, |
| 27173 | | .dst_temps = .{ .mem, .unused }, |
| 27172 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 27174 | 27173 | .clobbers = .{ .eflags = true }, |
| 27175 | 27174 | .each = .{ .once = &.{ |
| 27176 | | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 27177 | | .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 27178 | | .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 27179 | | .{ ._, .v_ps, .div, .tmp1y, .tmp1y, .tmp2y, ._ }, |
| 27180 | | .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ }, |
| 27181 | | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 27182 | | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 27175 | .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ }, |
| 27176 | .{ ._, .i_, .mul, .src1w, ._, ._, ._ }, |
| 27177 | .{ ._, ._nc, .j, .@"0f", ._, ._, ._ }, |
| 27178 | .{ ._, ._, .mov, .dst0d, .tmp0d, ._, ._ }, |
| 27179 | .{ ._, ._r, .sa, .dst0w, .ui(15), ._, ._ }, |
| 27180 | .{ ._, ._, .xor, .dst0w, .sa(.src0, .add_smax), ._, ._ }, |
| 27183 | 27181 | } }, |
| 27184 | 27182 | }, .{ |
| 27185 | | .required_features = .{ .avx, null, null, null }, |
| 27186 | | .src_constraints = .{ |
| 27187 | | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 27188 | | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 27189 | | .any, |
| 27190 | | }, |
| 27183 | .src_constraints = .{ .{ .exact_signed_int = 16 }, .{ .exact_signed_int = 16 }, .any }, |
| 27191 | 27184 | .patterns = &.{ |
| 27192 | | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 27185 | .{ .src = .{ .{ .to_reg = .ax }, .mem, .none } }, |
| 27186 | .{ .src = .{ .mem, .{ .to_reg = .ax }, .none }, .commute = .{ 0, 1 } }, |
| 27187 | .{ .src = .{ .{ .to_reg = .ax }, .to_gpr, .none } }, |
| 27193 | 27188 | }, |
| 27194 | | .call_frame = .{ .alignment = .@"16" }, |
| 27195 | 27189 | .extra_temps = .{ |
| 27196 | | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 27197 | | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, |
| 27198 | | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| 27199 | | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } }, |
| 27190 | .{ .type = .i16, .kind = .{ .reg = .dx } }, |
| 27191 | .unused, |
| 27192 | .unused, |
| 27193 | .unused, |
| 27200 | 27194 | .unused, |
| 27201 | 27195 | .unused, |
| 27202 | 27196 | .unused, |
| ... | ... | @@ -27205,34 +27199,29 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 27205 | 27199 | .unused, |
| 27206 | 27200 | .unused, |
| 27207 | 27201 | }, |
| 27208 | | .dst_temps = .{ .mem, .unused }, |
| 27209 | | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 27202 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 27203 | .clobbers = .{ .eflags = true }, |
| 27210 | 27204 | .each = .{ .once = &.{ |
| 27211 | | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 27212 | | .{ .@"0:", .vp_, .xor, .tmp2x, .tmp2x, .tmp2x, ._ }, |
| 27213 | | .{ ._, .vp_w, .insr, .tmp1x, .tmp2x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, |
| 27214 | | .{ ._, .vp_w, .insr, .tmp2x, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0) }, |
| 27215 | | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 27216 | | .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, |
| 27217 | | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 27218 | | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 27205 | .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ }, |
| 27206 | .{ ._, .i_, .mul, .src1w, ._, ._, ._ }, |
| 27207 | .{ ._, ._nc, .j, .@"0f", ._, ._, ._ }, |
| 27208 | .{ ._, ._, .mov, .dst0d, .tmp0d, ._, ._ }, |
| 27209 | .{ ._, ._r, .sa, .dst0w, .ui(15), ._, ._ }, |
| 27210 | .{ ._, ._, .xor, .dst0d, .sa(.src0, .add_smax), ._, ._ }, |
| 27219 | 27211 | } }, |
| 27220 | 27212 | }, .{ |
| 27221 | | .required_features = .{ .sse4_1, null, null, null }, |
| 27222 | | .src_constraints = .{ |
| 27223 | | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 27224 | | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 27225 | | .any, |
| 27226 | | }, |
| 27213 | .required_features = .{ .fast_imm16, null, null, null }, |
| 27214 | .src_constraints = .{ .{ .signed_int = .word }, .{ .signed_int = .word }, .any }, |
| 27227 | 27215 | .patterns = &.{ |
| 27228 | | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 27216 | .{ .src = .{ .{ .to_reg = .ax }, .mem, .none } }, |
| 27217 | .{ .src = .{ .mem, .{ .to_reg = .ax }, .none }, .commute = .{ 0, 1 } }, |
| 27218 | .{ .src = .{ .{ .to_reg = .ax }, .to_gpr, .none } }, |
| 27229 | 27219 | }, |
| 27230 | | .call_frame = .{ .alignment = .@"16" }, |
| 27231 | 27220 | .extra_temps = .{ |
| 27232 | | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 27233 | | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, |
| 27234 | | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| 27235 | | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } }, |
| 27221 | .{ .type = .i16, .kind = .{ .reg = .dx } }, |
| 27222 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 27223 | .unused, |
| 27224 | .unused, |
| 27236 | 27225 | .unused, |
| 27237 | 27226 | .unused, |
| 27238 | 27227 | .unused, |
| ... | ... | @@ -27241,36 +27230,33 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 27241 | 27230 | .unused, |
| 27242 | 27231 | .unused, |
| 27243 | 27232 | }, |
| 27244 | | .dst_temps = .{ .mem, .unused }, |
| 27245 | | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 27233 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 27234 | .clobbers = .{ .eflags = true }, |
| 27246 | 27235 | .each = .{ .once = &.{ |
| 27247 | | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 27248 | | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 27249 | | .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ }, |
| 27250 | | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, |
| 27251 | | .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ }, |
| 27252 | | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 27253 | | .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, |
| 27254 | | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 27255 | | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 27236 | .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ }, |
| 27237 | .{ ._, .i_, .mul, .src1w, ._, ._, ._ }, |
| 27238 | .{ ._, ._c, .j, .@"1f", ._, ._, ._ }, |
| 27239 | .{ ._, ._, .mov, .tmp1d, .dst0d, ._, ._ }, |
| 27240 | .{ ._, ._r, .sa, .tmp1w, .sia(-1, .src0, .add_bit_size), ._, ._ }, |
| 27241 | .{ ._, ._, .cmp, .tmp1w, .tmp0w, ._, ._ }, |
| 27242 | .{ ._, ._e, .j, .@"0f", ._, ._, ._ }, |
| 27243 | .{ .@"1:", ._, .mov, .dst0d, .tmp0d, ._, ._ }, |
| 27244 | .{ ._, ._r, .sa, .dst0w, .ui(15), ._, ._ }, |
| 27245 | .{ ._, ._, .xor, .dst0w, .sa(.src0, .add_smax), ._, ._ }, |
| 27256 | 27246 | } }, |
| 27257 | 27247 | }, .{ |
| 27258 | | .required_features = .{ .sse2, null, null, null }, |
| 27259 | | .src_constraints = .{ |
| 27260 | | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 27261 | | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 27262 | | .any, |
| 27263 | | }, |
| 27248 | .src_constraints = .{ .{ .signed_int = .word }, .{ .signed_int = .word }, .any }, |
| 27264 | 27249 | .patterns = &.{ |
| 27265 | | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 27250 | .{ .src = .{ .{ .to_reg = .ax }, .mem, .none } }, |
| 27251 | .{ .src = .{ .mem, .{ .to_reg = .ax }, .none }, .commute = .{ 0, 1 } }, |
| 27252 | .{ .src = .{ .{ .to_reg = .ax }, .to_gpr, .none } }, |
| 27266 | 27253 | }, |
| 27267 | | .call_frame = .{ .alignment = .@"16" }, |
| 27268 | 27254 | .extra_temps = .{ |
| 27269 | | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 27270 | | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, |
| 27271 | | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| 27272 | | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } }, |
| 27273 | | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 27255 | .{ .type = .i16, .kind = .{ .reg = .dx } }, |
| 27256 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 27257 | .unused, |
| 27258 | .unused, |
| 27259 | .unused, |
| 27274 | 27260 | .unused, |
| 27275 | 27261 | .unused, |
| 27276 | 27262 | .unused, |
| ... | ... | @@ -27278,149 +27264,122 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 27278 | 27264 | .unused, |
| 27279 | 27265 | .unused, |
| 27280 | 27266 | }, |
| 27281 | | .dst_temps = .{ .mem, .unused }, |
| 27282 | | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 27267 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 27268 | .clobbers = .{ .eflags = true }, |
| 27283 | 27269 | .each = .{ .once = &.{ |
| 27284 | | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 27285 | | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 27286 | | .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ }, |
| 27287 | | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, |
| 27288 | | .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ }, |
| 27289 | | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 27290 | | .{ ._, .p_w, .extr, .tmp4d, .tmp1x, .ui(0), ._ }, |
| 27291 | | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp4w, ._, ._ }, |
| 27292 | | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 27293 | | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 27270 | .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ }, |
| 27271 | .{ ._, .i_, .mul, .src1w, ._, ._, ._ }, |
| 27272 | .{ ._, ._c, .j, .@"1f", ._, ._, ._ }, |
| 27273 | .{ ._, ._, .mov, .tmp1d, .dst0d, ._, ._ }, |
| 27274 | .{ ._, ._r, .sa, .tmp1w, .sia(-1, .src0, .add_bit_size), ._, ._ }, |
| 27275 | .{ ._, ._, .cmp, .tmp1w, .tmp0w, ._, ._ }, |
| 27276 | .{ ._, ._e, .j, .@"0f", ._, ._, ._ }, |
| 27277 | .{ .@"1:", ._, .mov, .dst0d, .tmp0d, ._, ._ }, |
| 27278 | .{ ._, ._r, .sa, .dst0w, .ui(15), ._, ._ }, |
| 27279 | .{ ._, ._, .xor, .dst0d, .sa(.src0, .add_smax), ._, ._ }, |
| 27294 | 27280 | } }, |
| 27295 | 27281 | }, .{ |
| 27296 | | .required_features = .{ .sse, null, null, null }, |
| 27297 | | .src_constraints = .{ |
| 27298 | | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 27299 | | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 27300 | | .any, |
| 27301 | | }, |
| 27282 | .src_constraints = .{ .{ .exact_unsigned_int = 16 }, .{ .exact_unsigned_int = 16 }, .any }, |
| 27302 | 27283 | .patterns = &.{ |
| 27303 | | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 27284 | .{ .src = .{ .{ .to_reg = .ax }, .mem, .none } }, |
| 27285 | .{ .src = .{ .mem, .{ .to_reg = .ax }, .none }, .commute = .{ 0, 1 } }, |
| 27286 | .{ .src = .{ .{ .to_reg = .ax }, .to_gpr, .none } }, |
| 27304 | 27287 | }, |
| 27305 | | .call_frame = .{ .alignment = .@"16" }, |
| 27306 | 27288 | .extra_temps = .{ |
| 27307 | | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 27308 | | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 27309 | | .{ .type = .f32, .kind = .mem }, |
| 27310 | | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, |
| 27311 | | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| 27312 | | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } }, |
| 27289 | .{ .type = .u16, .kind = .{ .reg = .dx } }, |
| 27290 | .unused, |
| 27291 | .unused, |
| 27292 | .unused, |
| 27293 | .unused, |
| 27294 | .unused, |
| 27313 | 27295 | .unused, |
| 27314 | 27296 | .unused, |
| 27315 | 27297 | .unused, |
| 27316 | 27298 | .unused, |
| 27317 | 27299 | .unused, |
| 27318 | 27300 | }, |
| 27319 | | .dst_temps = .{ .mem, .unused }, |
| 27320 | | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 27301 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 27302 | .clobbers = .{ .eflags = true }, |
| 27321 | 27303 | .each = .{ .once = &.{ |
| 27322 | | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 27323 | | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 27324 | | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| 27325 | | .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ }, |
| 27326 | | .{ ._, ._, .movzx, .tmp1d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 27327 | | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| 27328 | | .{ ._, ._ss, .mov, .tmp4x, .mem(.tmp2d), ._, ._ }, |
| 27329 | | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| 27330 | | .{ ._, ._ss, .mov, .mem(.tmp2d), .tmp3x, ._, ._ }, |
| 27331 | | .{ ._, ._, .mov, .tmp1d, .mem(.tmp2d), ._, ._ }, |
| 27332 | | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, |
| 27333 | | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 27334 | | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 27304 | .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ }, |
| 27305 | .{ ._, ._, .mul, .src1w, ._, ._, ._ }, |
| 27306 | .{ ._, ._, .sbb, .tmp0d, .tmp0d, ._, ._ }, |
| 27307 | .{ ._, ._, .@"or", .dst0d, .tmp0d, ._, ._ }, |
| 27335 | 27308 | } }, |
| 27336 | 27309 | }, .{ |
| 27337 | | .required_features = .{ .avx, null, null, null }, |
| 27338 | | .src_constraints = .{ |
| 27339 | | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, |
| 27340 | | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, |
| 27341 | | .any, |
| 27342 | | }, |
| 27310 | .required_features = .{ .bmi, .cmov, null, null }, |
| 27311 | .src_constraints = .{ .{ .unsigned_int = .word }, .{ .unsigned_int = .word }, .any }, |
| 27343 | 27312 | .patterns = &.{ |
| 27344 | | .{ .src = .{ .to_sse, .mem, .none } }, |
| 27345 | | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 27346 | | }, |
| 27347 | | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 27348 | | .each = .{ .once = &.{ |
| 27349 | | .{ ._, .v_ss, .div, .dst0x, .src0x, .src1d, ._ }, |
| 27350 | | } }, |
| 27351 | | }, .{ |
| 27352 | | .required_features = .{ .sse, null, null, null }, |
| 27353 | | .src_constraints = .{ |
| 27354 | | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, |
| 27355 | | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, |
| 27356 | | .any, |
| 27313 | .{ .src = .{ .{ .to_reg = .ax }, .mem, .none } }, |
| 27314 | .{ .src = .{ .mem, .{ .to_reg = .ax }, .none }, .commute = .{ 0, 1 } }, |
| 27315 | .{ .src = .{ .{ .to_reg = .ax }, .to_gpr, .none } }, |
| 27357 | 27316 | }, |
| 27358 | | .patterns = &.{ |
| 27359 | | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 27360 | | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 27317 | .extra_temps = .{ |
| 27318 | .{ .type = .u16, .kind = .{ .reg = .dx } }, |
| 27319 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| 27320 | .{ .type = .u16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 27321 | .unused, |
| 27322 | .unused, |
| 27323 | .unused, |
| 27324 | .unused, |
| 27325 | .unused, |
| 27326 | .unused, |
| 27327 | .unused, |
| 27328 | .unused, |
| 27361 | 27329 | }, |
| 27362 | 27330 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 27331 | .clobbers = .{ .eflags = true }, |
| 27363 | 27332 | .each = .{ .once = &.{ |
| 27364 | | .{ ._, ._ss, .div, .dst0x, .src1d, ._, ._ }, |
| 27333 | .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ }, |
| 27334 | .{ ._, ._, .mov, .tmp1d, .ua(.src0, .add_umax), ._, ._ }, |
| 27335 | .{ ._, ._, .mul, .src1w, ._, ._, ._ }, |
| 27336 | .{ ._, ._, .andn, .tmp2d, .tmp1d, .dst0d, ._ }, |
| 27337 | .{ ._, ._, .@"or", .tmp2w, .tmp0w, ._, ._ }, |
| 27338 | .{ ._, ._nz, .cmov, .dst0d, .tmp1d, ._, ._ }, |
| 27365 | 27339 | } }, |
| 27366 | 27340 | }, .{ |
| 27367 | | .required_features = .{ .avx, null, null, null }, |
| 27368 | | .src_constraints = .{ |
| 27369 | | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, |
| 27370 | | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, |
| 27371 | | .any, |
| 27372 | | }, |
| 27341 | .required_features = .{ .cmov, .fast_imm16, null, null }, |
| 27342 | .src_constraints = .{ .{ .unsigned_int = .word }, .{ .unsigned_int = .word }, .any }, |
| 27373 | 27343 | .patterns = &.{ |
| 27374 | | .{ .src = .{ .to_sse, .mem, .none } }, |
| 27375 | | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 27376 | | }, |
| 27377 | | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 27378 | | .each = .{ .once = &.{ |
| 27379 | | .{ ._, .v_ps, .div, .dst0x, .src0x, .src1x, ._ }, |
| 27380 | | } }, |
| 27381 | | }, .{ |
| 27382 | | .required_features = .{ .sse, null, null, null }, |
| 27383 | | .src_constraints = .{ |
| 27384 | | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, |
| 27385 | | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, |
| 27386 | | .any, |
| 27344 | .{ .src = .{ .{ .to_reg = .ax }, .mem, .none } }, |
| 27345 | .{ .src = .{ .mem, .{ .to_reg = .ax }, .none }, .commute = .{ 0, 1 } }, |
| 27346 | .{ .src = .{ .{ .to_reg = .ax }, .to_gpr, .none } }, |
| 27387 | 27347 | }, |
| 27388 | | .patterns = &.{ |
| 27389 | | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 27390 | | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 27348 | .extra_temps = .{ |
| 27349 | .{ .type = .u16, .kind = .{ .reg = .dx } }, |
| 27350 | .{ .type = .u16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 27351 | .unused, |
| 27352 | .unused, |
| 27353 | .unused, |
| 27354 | .unused, |
| 27355 | .unused, |
| 27356 | .unused, |
| 27357 | .unused, |
| 27358 | .unused, |
| 27359 | .unused, |
| 27391 | 27360 | }, |
| 27392 | 27361 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 27362 | .clobbers = .{ .eflags = true }, |
| 27393 | 27363 | .each = .{ .once = &.{ |
| 27394 | | .{ ._, ._ps, .div, .dst0x, .src1x, ._, ._ }, |
| 27395 | | } }, |
| 27396 | | }, .{ |
| 27397 | | .required_features = .{ .avx, null, null, null }, |
| 27398 | | .src_constraints = .{ |
| 27399 | | .{ .scalar_float = .{ .of = .yword, .is = .dword } }, |
| 27400 | | .{ .scalar_float = .{ .of = .yword, .is = .dword } }, |
| 27401 | | .any, |
| 27402 | | }, |
| 27403 | | .patterns = &.{ |
| 27404 | | .{ .src = .{ .to_sse, .mem, .none } }, |
| 27405 | | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 27406 | | }, |
| 27407 | | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 27408 | | .each = .{ .once = &.{ |
| 27409 | | .{ ._, .v_ps, .div, .dst0y, .src0y, .src1y, ._ }, |
| 27364 | .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ }, |
| 27365 | .{ ._, ._, .mul, .src1w, ._, ._, ._ }, |
| 27366 | .{ ._, ._, .mov, .tmp1d, .dst0d, ._, ._ }, |
| 27367 | .{ ._, ._, .@"and", .tmp1w, .sa(.src0, .add_2_smin), ._, ._ }, |
| 27368 | .{ ._, ._, .@"or", .tmp1w, .tmp0w, ._, ._ }, |
| 27369 | .{ ._, ._, .mov, .tmp0d, .ua(.src0, .add_umax), ._, ._ }, |
| 27370 | .{ ._, ._nz, .cmov, .dst0d, .tmp0d, ._, ._ }, |
| 27410 | 27371 | } }, |
| 27411 | 27372 | }, .{ |
| 27412 | | .required_features = .{ .avx, null, null, null }, |
| 27413 | | .src_constraints = .{ |
| 27414 | | .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, |
| 27415 | | .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, |
| 27416 | | .any, |
| 27417 | | }, |
| 27373 | .required_features = .{ .cmov, null, null, null }, |
| 27374 | .src_constraints = .{ .{ .unsigned_int = .word }, .{ .unsigned_int = .word }, .any }, |
| 27418 | 27375 | .patterns = &.{ |
| 27419 | | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 27376 | .{ .src = .{ .{ .to_reg = .ax }, .mem, .none } }, |
| 27377 | .{ .src = .{ .mem, .{ .to_reg = .ax }, .none }, .commute = .{ 0, 1 } }, |
| 27378 | .{ .src = .{ .{ .to_reg = .ax }, .to_gpr, .none } }, |
| 27420 | 27379 | }, |
| 27421 | 27380 | .extra_temps = .{ |
| 27422 | | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 27423 | | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| 27381 | .{ .type = .u16, .kind = .{ .reg = .dx } }, |
| 27382 | .{ .type = .u16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 27424 | 27383 | .unused, |
| 27425 | 27384 | .unused, |
| 27426 | 27385 | .unused, |
| ... | ... | @@ -27431,29 +27390,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 27431 | 27390 | .unused, |
| 27432 | 27391 | .unused, |
| 27433 | 27392 | }, |
| 27434 | | .dst_temps = .{ .mem, .unused }, |
| 27393 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 27435 | 27394 | .clobbers = .{ .eflags = true }, |
| 27436 | 27395 | .each = .{ .once = &.{ |
| 27437 | | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 27438 | | .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, |
| 27439 | | .{ ._, .v_ps, .div, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ }, |
| 27440 | | .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, |
| 27441 | | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 27442 | | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 27396 | .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ }, |
| 27397 | .{ ._, ._, .mul, .src1w, ._, ._, ._ }, |
| 27398 | .{ ._, ._, .mov, .tmp1d, .dst0d, ._, ._ }, |
| 27399 | .{ ._, ._, .@"and", .tmp1d, .sa(.src0, .add_2_smin), ._, ._ }, |
| 27400 | .{ ._, ._, .@"or", .tmp1w, .tmp0w, ._, ._ }, |
| 27401 | .{ ._, ._, .mov, .tmp0d, .ua(.src0, .add_umax), ._, ._ }, |
| 27402 | .{ ._, ._nz, .cmov, .dst0d, .tmp0d, ._, ._ }, |
| 27443 | 27403 | } }, |
| 27444 | 27404 | }, .{ |
| 27445 | | .required_features = .{ .sse, null, null, null }, |
| 27446 | | .src_constraints = .{ |
| 27447 | | .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, |
| 27448 | | .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, |
| 27449 | | .any, |
| 27450 | | }, |
| 27405 | .required_features = .{ .fast_imm16, null, null, null }, |
| 27406 | .src_constraints = .{ .{ .unsigned_int = .word }, .{ .unsigned_int = .word }, .any }, |
| 27451 | 27407 | .patterns = &.{ |
| 27452 | | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 27408 | .{ .src = .{ .{ .to_reg = .ax }, .mem, .none } }, |
| 27409 | .{ .src = .{ .mem, .{ .to_reg = .ax }, .none }, .commute = .{ 0, 1 } }, |
| 27410 | .{ .src = .{ .{ .to_reg = .ax }, .to_gpr, .none } }, |
| 27453 | 27411 | }, |
| 27454 | 27412 | .extra_temps = .{ |
| 27455 | | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 27456 | | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| 27413 | .{ .type = .u16, .kind = .{ .reg = .dx } }, |
| 27414 | .{ .type = .u16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 27457 | 27415 | .unused, |
| 27458 | 27416 | .unused, |
| 27459 | 27417 | .unused, |
| ... | ... | @@ -27464,59 +27422,58 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 27464 | 27422 | .unused, |
| 27465 | 27423 | .unused, |
| 27466 | 27424 | }, |
| 27467 | | .dst_temps = .{ .mem, .unused }, |
| 27425 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 27468 | 27426 | .clobbers = .{ .eflags = true }, |
| 27469 | 27427 | .each = .{ .once = &.{ |
| 27470 | | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 27471 | | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 27472 | | .{ ._, ._ps, .div, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 27473 | | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| 27474 | | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 27475 | | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 27428 | .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ }, |
| 27429 | .{ ._, ._, .mul, .src1w, ._, ._, ._ }, |
| 27430 | .{ ._, ._, .mov, .tmp1d, .dst0d, ._, ._ }, |
| 27431 | .{ ._, ._, .@"and", .tmp1w, .sa(.src0, .add_2_smin), ._, ._ }, |
| 27432 | .{ ._, ._, .@"or", .tmp1w, .tmp0w, ._, ._ }, |
| 27433 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 27434 | .{ ._, ._, .mov, .dst0d, .ua(.src0, .add_umax), ._, ._ }, |
| 27476 | 27435 | } }, |
| 27477 | 27436 | }, .{ |
| 27478 | | .required_features = .{ .avx, null, null, null }, |
| 27479 | | .src_constraints = .{ |
| 27480 | | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| 27481 | | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| 27482 | | .any, |
| 27483 | | }, |
| 27437 | .src_constraints = .{ .{ .unsigned_int = .word }, .{ .unsigned_int = .word }, .any }, |
| 27484 | 27438 | .patterns = &.{ |
| 27485 | | .{ .src = .{ .to_sse, .mem, .none } }, |
| 27486 | | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 27487 | | }, |
| 27488 | | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 27489 | | .each = .{ .once = &.{ |
| 27490 | | .{ ._, .v_sd, .div, .dst0x, .src0x, .src1q, ._ }, |
| 27491 | | } }, |
| 27492 | | }, .{ |
| 27493 | | .required_features = .{ .sse2, null, null, null }, |
| 27494 | | .src_constraints = .{ |
| 27495 | | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| 27496 | | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| 27497 | | .any, |
| 27439 | .{ .src = .{ .{ .to_reg = .ax }, .mem, .none } }, |
| 27440 | .{ .src = .{ .mem, .{ .to_reg = .ax }, .none }, .commute = .{ 0, 1 } }, |
| 27441 | .{ .src = .{ .{ .to_reg = .ax }, .to_gpr, .none } }, |
| 27498 | 27442 | }, |
| 27499 | | .patterns = &.{ |
| 27500 | | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 27501 | | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 27443 | .extra_temps = .{ |
| 27444 | .{ .type = .u16, .kind = .{ .reg = .dx } }, |
| 27445 | .{ .type = .u16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 27446 | .unused, |
| 27447 | .unused, |
| 27448 | .unused, |
| 27449 | .unused, |
| 27450 | .unused, |
| 27451 | .unused, |
| 27452 | .unused, |
| 27453 | .unused, |
| 27454 | .unused, |
| 27502 | 27455 | }, |
| 27503 | 27456 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 27457 | .clobbers = .{ .eflags = true }, |
| 27504 | 27458 | .each = .{ .once = &.{ |
| 27505 | | .{ ._, ._sd, .div, .dst0x, .src1q, ._, ._ }, |
| 27459 | .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ }, |
| 27460 | .{ ._, ._, .mul, .src1w, ._, ._, ._ }, |
| 27461 | .{ ._, ._, .mov, .tmp1d, .dst0d, ._, ._ }, |
| 27462 | .{ ._, ._, .@"and", .tmp1d, .sa(.src0, .add_2_smin), ._, ._ }, |
| 27463 | .{ ._, ._, .@"or", .tmp1w, .tmp0w, ._, ._ }, |
| 27464 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 27465 | .{ ._, ._, .mov, .dst0d, .ua(.src0, .add_umax), ._, ._ }, |
| 27506 | 27466 | } }, |
| 27507 | 27467 | }, .{ |
| 27508 | | .required_features = .{ .x87, null, null, null }, |
| 27509 | | .src_constraints = .{ |
| 27510 | | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| 27511 | | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| 27512 | | .any, |
| 27513 | | }, |
| 27468 | .src_constraints = .{ .{ .exact_signed_int = 32 }, .{ .exact_signed_int = 32 }, .any }, |
| 27514 | 27469 | .patterns = &.{ |
| 27515 | | .{ .src = .{ .mem, .mem, .none } }, |
| 27470 | .{ .src = .{ .{ .to_reg = .eax }, .mem, .none } }, |
| 27471 | .{ .src = .{ .mem, .{ .to_reg = .eax }, .none }, .commute = .{ 0, 1 } }, |
| 27472 | .{ .src = .{ .{ .to_reg = .eax }, .to_gpr, .none } }, |
| 27516 | 27473 | }, |
| 27517 | 27474 | .extra_temps = .{ |
| 27518 | | .{ .type = .f64, .kind = .{ .reg = .st6 } }, |
| 27519 | | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 27475 | .{ .type = .i32, .kind = .{ .reg = .edx } }, |
| 27476 | .unused, |
| 27520 | 27477 | .unused, |
| 27521 | 27478 | .unused, |
| 27522 | 27479 | .unused, |
| ... | ... | @@ -27527,71 +27484,87 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 27527 | 27484 | .unused, |
| 27528 | 27485 | .unused, |
| 27529 | 27486 | }, |
| 27530 | | .dst_temps = .{ .mem, .unused }, |
| 27487 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 27488 | .clobbers = .{ .eflags = true }, |
| 27531 | 27489 | .each = .{ .once = &.{ |
| 27532 | | .{ ._, .f_, .ld, .src0q, ._, ._, ._ }, |
| 27533 | | .{ ._, .f_, .div, .src1q, ._, ._, ._ }, |
| 27534 | | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| 27490 | .{ ._, .i_, .mul, .src1d, ._, ._, ._ }, |
| 27491 | .{ ._, ._nc, .j, .@"0f", ._, ._, ._ }, |
| 27492 | .{ ._, ._, .mov, .dst0d, .tmp0d, ._, ._ }, |
| 27493 | .{ ._, ._r, .sa, .dst0d, .ui(31), ._, ._ }, |
| 27494 | .{ ._, ._, .xor, .dst0d, .sa(.src0, .add_smax), ._, ._ }, |
| 27535 | 27495 | } }, |
| 27536 | 27496 | }, .{ |
| 27537 | | .required_features = .{ .avx, null, null, null }, |
| 27538 | | .src_constraints = .{ |
| 27539 | | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, |
| 27540 | | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, |
| 27541 | | .any, |
| 27542 | | }, |
| 27497 | .src_constraints = .{ .{ .signed_int = .dword }, .{ .signed_int = .dword }, .any }, |
| 27543 | 27498 | .patterns = &.{ |
| 27544 | | .{ .src = .{ .to_sse, .mem, .none } }, |
| 27545 | | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 27546 | | }, |
| 27547 | | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 27548 | | .each = .{ .once = &.{ |
| 27549 | | .{ ._, .v_pd, .div, .dst0x, .src0x, .src1x, ._ }, |
| 27550 | | } }, |
| 27551 | | }, .{ |
| 27552 | | .required_features = .{ .sse2, null, null, null }, |
| 27553 | | .src_constraints = .{ |
| 27554 | | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, |
| 27555 | | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, |
| 27556 | | .any, |
| 27499 | .{ .src = .{ .{ .to_reg = .eax }, .mem, .none } }, |
| 27500 | .{ .src = .{ .mem, .{ .to_reg = .eax }, .none }, .commute = .{ 0, 1 } }, |
| 27501 | .{ .src = .{ .{ .to_reg = .eax }, .to_gpr, .none } }, |
| 27557 | 27502 | }, |
| 27558 | | .patterns = &.{ |
| 27559 | | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 27560 | | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 27503 | .extra_temps = .{ |
| 27504 | .{ .type = .i32, .kind = .{ .reg = .edx } }, |
| 27505 | .{ .type = .i32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 27506 | .unused, |
| 27507 | .unused, |
| 27508 | .unused, |
| 27509 | .unused, |
| 27510 | .unused, |
| 27511 | .unused, |
| 27512 | .unused, |
| 27513 | .unused, |
| 27514 | .unused, |
| 27561 | 27515 | }, |
| 27562 | 27516 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 27517 | .clobbers = .{ .eflags = true }, |
| 27563 | 27518 | .each = .{ .once = &.{ |
| 27564 | | .{ ._, ._pd, .div, .dst0x, .src1x, ._, ._ }, |
| 27519 | .{ ._, .i_, .mul, .src1d, ._, ._, ._ }, |
| 27520 | .{ ._, ._c, .j, .@"1f", ._, ._, ._ }, |
| 27521 | .{ ._, ._, .mov, .tmp1d, .dst0d, ._, ._ }, |
| 27522 | .{ ._, ._r, .sa, .tmp1d, .sia(-1, .src0, .add_bit_size), ._, ._ }, |
| 27523 | .{ ._, ._, .cmp, .tmp1d, .tmp0d, ._, ._ }, |
| 27524 | .{ ._, ._e, .j, .@"0f", ._, ._, ._ }, |
| 27525 | .{ .@"1:", ._, .mov, .dst0d, .tmp0d, ._, ._ }, |
| 27526 | .{ ._, ._r, .sa, .dst0d, .ui(31), ._, ._ }, |
| 27527 | .{ ._, ._, .xor, .dst0d, .sa(.src0, .add_smax), ._, ._ }, |
| 27565 | 27528 | } }, |
| 27566 | 27529 | }, .{ |
| 27567 | | .required_features = .{ .avx, null, null, null }, |
| 27568 | | .src_constraints = .{ |
| 27569 | | .{ .scalar_float = .{ .of = .yword, .is = .qword } }, |
| 27570 | | .{ .scalar_float = .{ .of = .yword, .is = .qword } }, |
| 27571 | | .any, |
| 27572 | | }, |
| 27530 | .src_constraints = .{ .{ .exact_unsigned_int = 32 }, .{ .exact_unsigned_int = 32 }, .any }, |
| 27573 | 27531 | .patterns = &.{ |
| 27574 | | .{ .src = .{ .to_sse, .mem, .none } }, |
| 27575 | | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 27532 | .{ .src = .{ .{ .to_reg = .eax }, .mem, .none } }, |
| 27533 | .{ .src = .{ .mem, .{ .to_reg = .eax }, .none }, .commute = .{ 0, 1 } }, |
| 27534 | .{ .src = .{ .{ .to_reg = .eax }, .to_gpr, .none } }, |
| 27576 | 27535 | }, |
| 27577 | | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 27536 | .extra_temps = .{ |
| 27537 | .{ .type = .u32, .kind = .{ .reg = .edx } }, |
| 27538 | .unused, |
| 27539 | .unused, |
| 27540 | .unused, |
| 27541 | .unused, |
| 27542 | .unused, |
| 27543 | .unused, |
| 27544 | .unused, |
| 27545 | .unused, |
| 27546 | .unused, |
| 27547 | .unused, |
| 27548 | }, |
| 27549 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 27550 | .clobbers = .{ .eflags = true }, |
| 27578 | 27551 | .each = .{ .once = &.{ |
| 27579 | | .{ ._, .v_pd, .div, .dst0y, .src0y, .src1y, ._ }, |
| 27552 | .{ ._, ._, .mul, .src1d, ._, ._, ._ }, |
| 27553 | .{ ._, ._, .sbb, .tmp0d, .tmp0d, ._, ._ }, |
| 27554 | .{ ._, ._, .@"or", .dst0d, .tmp0d, ._, ._ }, |
| 27580 | 27555 | } }, |
| 27581 | 27556 | }, .{ |
| 27582 | | .required_features = .{ .avx, null, null, null }, |
| 27583 | | .src_constraints = .{ |
| 27584 | | .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, |
| 27585 | | .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, |
| 27586 | | .any, |
| 27587 | | }, |
| 27557 | .required_features = .{ .bmi, .cmov, null, null }, |
| 27558 | .src_constraints = .{ .{ .unsigned_int = .dword }, .{ .unsigned_int = .dword }, .any }, |
| 27588 | 27559 | .patterns = &.{ |
| 27589 | | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 27560 | .{ .src = .{ .{ .to_reg = .eax }, .mem, .none } }, |
| 27561 | .{ .src = .{ .mem, .{ .to_reg = .eax }, .none }, .commute = .{ 0, 1 } }, |
| 27562 | .{ .src = .{ .{ .to_reg = .eax }, .to_gpr, .none } }, |
| 27590 | 27563 | }, |
| 27591 | 27564 | .extra_temps = .{ |
| 27592 | | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 27593 | | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, |
| 27594 | | .unused, |
| 27565 | .{ .type = .u32, .kind = .{ .reg = .edx } }, |
| 27566 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 27567 | .{ .type = .u32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 27595 | 27568 | .unused, |
| 27596 | 27569 | .unused, |
| 27597 | 27570 | .unused, |
| ... | ... | @@ -27601,29 +27574,26 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 27601 | 27574 | .unused, |
| 27602 | 27575 | .unused, |
| 27603 | 27576 | }, |
| 27604 | | .dst_temps = .{ .mem, .unused }, |
| 27577 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 27605 | 27578 | .clobbers = .{ .eflags = true }, |
| 27606 | 27579 | .each = .{ .once = &.{ |
| 27607 | | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 27608 | | .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, |
| 27609 | | .{ ._, .v_pd, .div, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ }, |
| 27610 | | .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, |
| 27611 | | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 27612 | | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 27580 | .{ ._, ._, .mov, .tmp1d, .ua(.src0, .add_umax), ._, ._ }, |
| 27581 | .{ ._, ._, .mul, .src1d, ._, ._, ._ }, |
| 27582 | .{ ._, ._, .andn, .tmp2d, .tmp1d, .dst0d, ._ }, |
| 27583 | .{ ._, ._, .@"or", .tmp2d, .tmp0d, ._, ._ }, |
| 27584 | .{ ._, ._nz, .cmov, .dst0d, .tmp1d, ._, ._ }, |
| 27613 | 27585 | } }, |
| 27614 | 27586 | }, .{ |
| 27615 | | .required_features = .{ .sse2, null, null, null }, |
| 27616 | | .src_constraints = .{ |
| 27617 | | .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, |
| 27618 | | .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, |
| 27619 | | .any, |
| 27620 | | }, |
| 27587 | .required_features = .{ .cmov, null, null, null }, |
| 27588 | .src_constraints = .{ .{ .unsigned_int = .dword }, .{ .unsigned_int = .dword }, .any }, |
| 27621 | 27589 | .patterns = &.{ |
| 27622 | | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 27590 | .{ .src = .{ .{ .to_reg = .eax }, .mem, .none } }, |
| 27591 | .{ .src = .{ .mem, .{ .to_reg = .eax }, .none }, .commute = .{ 0, 1 } }, |
| 27592 | .{ .src = .{ .{ .to_reg = .eax }, .to_gpr, .none } }, |
| 27623 | 27593 | }, |
| 27624 | 27594 | .extra_temps = .{ |
| 27625 | | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 27626 | | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| 27595 | .{ .type = .u32, .kind = .{ .reg = .edx } }, |
| 27596 | .{ .type = .u32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 27627 | 27597 | .unused, |
| 27628 | 27598 | .unused, |
| 27629 | 27599 | .unused, |
| ... | ... | @@ -27634,30 +27604,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 27634 | 27604 | .unused, |
| 27635 | 27605 | .unused, |
| 27636 | 27606 | }, |
| 27637 | | .dst_temps = .{ .mem, .unused }, |
| 27607 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 27638 | 27608 | .clobbers = .{ .eflags = true }, |
| 27639 | 27609 | .each = .{ .once = &.{ |
| 27640 | | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 27641 | | .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 27642 | | .{ ._, ._pd, .div, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 27643 | | .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| 27644 | | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 27645 | | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 27610 | .{ ._, ._, .mul, .src1d, ._, ._, ._ }, |
| 27611 | .{ ._, ._, .mov, .tmp1d, .dst0d, ._, ._ }, |
| 27612 | .{ ._, ._, .@"and", .tmp1d, .sa(.src0, .add_2_smin), ._, ._ }, |
| 27613 | .{ ._, ._, .@"or", .tmp1d, .tmp0d, ._, ._ }, |
| 27614 | .{ ._, ._, .mov, .tmp0d, .ua(.src0, .add_umax), ._, ._ }, |
| 27615 | .{ ._, ._nz, .cmov, .dst0d, .tmp0d, ._, ._ }, |
| 27646 | 27616 | } }, |
| 27647 | 27617 | }, .{ |
| 27648 | | .required_features = .{ .x87, null, null, null }, |
| 27649 | | .src_constraints = .{ |
| 27650 | | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, |
| 27651 | | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, |
| 27652 | | .any, |
| 27653 | | }, |
| 27618 | .src_constraints = .{ .{ .unsigned_int = .dword }, .{ .unsigned_int = .dword }, .any }, |
| 27654 | 27619 | .patterns = &.{ |
| 27655 | | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 27620 | .{ .src = .{ .{ .to_reg = .eax }, .mem, .none } }, |
| 27621 | .{ .src = .{ .mem, .{ .to_reg = .eax }, .none }, .commute = .{ 0, 1 } }, |
| 27622 | .{ .src = .{ .{ .to_reg = .eax }, .to_gpr, .none } }, |
| 27656 | 27623 | }, |
| 27657 | 27624 | .extra_temps = .{ |
| 27658 | | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 27659 | | .{ .type = .f64, .kind = .{ .reg = .st6 } }, |
| 27660 | | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 27625 | .{ .type = .u32, .kind = .{ .reg = .edx } }, |
| 27626 | .{ .type = .u32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 27627 | .unused, |
| 27661 | 27628 | .unused, |
| 27662 | 27629 | .unused, |
| 27663 | 27630 | .unused, |
| ... | ... | @@ -27667,29 +27634,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 27667 | 27634 | .unused, |
| 27668 | 27635 | .unused, |
| 27669 | 27636 | }, |
| 27670 | | .dst_temps = .{ .mem, .unused }, |
| 27637 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 27671 | 27638 | .clobbers = .{ .eflags = true }, |
| 27672 | 27639 | .each = .{ .once = &.{ |
| 27673 | | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 27674 | | .{ .@"0:", .f_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 27675 | | .{ ._, .f_, .div, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 27676 | | .{ ._, .f_p, .st, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 27677 | | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 27678 | | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 27640 | .{ ._, ._, .mul, .src1d, ._, ._, ._ }, |
| 27641 | .{ ._, ._, .mov, .tmp1d, .dst0d, ._, ._ }, |
| 27642 | .{ ._, ._, .@"and", .tmp1d, .sa(.src0, .add_2_smin), ._, ._ }, |
| 27643 | .{ ._, ._, .@"or", .tmp1d, .tmp0d, ._, ._ }, |
| 27644 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 27645 | .{ ._, ._, .mov, .dst0d, .ua(.src0, .add_umax), ._, ._ }, |
| 27679 | 27646 | } }, |
| 27680 | 27647 | }, .{ |
| 27681 | | .required_features = .{ .x87, null, null, null }, |
| 27682 | | .src_constraints = .{ |
| 27683 | | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 27684 | | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 27685 | | .any, |
| 27686 | | }, |
| 27648 | .required_features = .{ .@"64bit", null, null, null }, |
| 27649 | .src_constraints = .{ .{ .exact_signed_int = 64 }, .{ .exact_signed_int = 64 }, .any }, |
| 27687 | 27650 | .patterns = &.{ |
| 27688 | | .{ .src = .{ .mem, .mem, .none } }, |
| 27651 | .{ .src = .{ .{ .to_reg = .rax }, .mem, .none } }, |
| 27652 | .{ .src = .{ .mem, .{ .to_reg = .rax }, .none }, .commute = .{ 0, 1 } }, |
| 27653 | .{ .src = .{ .{ .to_reg = .rax }, .to_gpr, .none } }, |
| 27689 | 27654 | }, |
| 27690 | 27655 | .extra_temps = .{ |
| 27691 | | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 27692 | | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 27656 | .{ .type = .i64, .kind = .{ .reg = .rdx } }, |
| 27657 | .unused, |
| 27693 | 27658 | .unused, |
| 27694 | 27659 | .unused, |
| 27695 | 27660 | .unused, |
| ... | ... | @@ -27700,26 +27665,26 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 27700 | 27665 | .unused, |
| 27701 | 27666 | .unused, |
| 27702 | 27667 | }, |
| 27703 | | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| 27668 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 27669 | .clobbers = .{ .eflags = true }, |
| 27704 | 27670 | .each = .{ .once = &.{ |
| 27705 | | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| 27706 | | .{ ._, .f_, .ld, .src1t, ._, ._, ._ }, |
| 27707 | | .{ ._, .f_p, .div, ._, ._, ._, ._ }, |
| 27708 | | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| 27671 | .{ ._, .i_, .mul, .src1q, ._, ._, ._ }, |
| 27672 | .{ ._, ._nc, .j, .@"0f", ._, ._, ._ }, |
| 27673 | .{ ._, ._, .mov, .dst0q, .ua(.src0, .add_smax), ._, ._ }, |
| 27674 | .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ }, |
| 27675 | .{ ._, ._, .xor, .dst0q, .tmp0q, ._, ._ }, |
| 27709 | 27676 | } }, |
| 27710 | 27677 | }, .{ |
| 27711 | | .required_features = .{ .x87, null, null, null }, |
| 27712 | | .src_constraints = .{ |
| 27713 | | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 27714 | | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 27715 | | .any, |
| 27716 | | }, |
| 27678 | .required_features = .{ .@"64bit", null, null, null }, |
| 27679 | .src_constraints = .{ .{ .signed_int = .qword }, .{ .signed_int = .qword }, .any }, |
| 27717 | 27680 | .patterns = &.{ |
| 27718 | | .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } }, |
| 27681 | .{ .src = .{ .{ .to_reg = .rax }, .mem, .none } }, |
| 27682 | .{ .src = .{ .mem, .{ .to_reg = .rax }, .none }, .commute = .{ 0, 1 } }, |
| 27683 | .{ .src = .{ .{ .to_reg = .rax }, .to_gpr, .none } }, |
| 27719 | 27684 | }, |
| 27720 | 27685 | .extra_temps = .{ |
| 27721 | | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 27722 | | .unused, |
| 27686 | .{ .type = .i64, .kind = .{ .reg = .rdx } }, |
| 27687 | .{ .type = .i64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 27723 | 27688 | .unused, |
| 27724 | 27689 | .unused, |
| 27725 | 27690 | .unused, |
| ... | ... | @@ -27730,25 +27695,29 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 27730 | 27695 | .unused, |
| 27731 | 27696 | .unused, |
| 27732 | 27697 | }, |
| 27733 | | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| 27698 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 27699 | .clobbers = .{ .eflags = true }, |
| 27734 | 27700 | .each = .{ .once = &.{ |
| 27735 | | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| 27736 | | .{ ._, .f_, .divr, .tmp0t, .src1t, ._, ._ }, |
| 27737 | | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| 27701 | .{ ._, .i_, .mul, .src1q, ._, ._, ._ }, |
| 27702 | .{ ._, ._c, .j, .@"1f", ._, ._, ._ }, |
| 27703 | .{ ._, ._, .mov, .tmp1q, .dst0q, ._, ._ }, |
| 27704 | .{ ._, ._r, .sa, .tmp1q, .sia(-1, .src0, .add_bit_size), ._, ._ }, |
| 27705 | .{ ._, ._, .cmp, .tmp1q, .tmp0q, ._, ._ }, |
| 27706 | .{ ._, ._e, .j, .@"0f", ._, ._, ._ }, |
| 27707 | .{ .@"1:", ._, .mov, .dst0q, .ua(.src0, .add_smax), ._, ._ }, |
| 27708 | .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ }, |
| 27709 | .{ ._, ._, .xor, .dst0q, .tmp0q, ._, ._ }, |
| 27738 | 27710 | } }, |
| 27739 | 27711 | }, .{ |
| 27740 | | .required_features = .{ .x87, null, null, null }, |
| 27741 | | .src_constraints = .{ |
| 27742 | | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 27743 | | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 27744 | | .any, |
| 27745 | | }, |
| 27712 | .required_features = .{ .@"64bit", null, null, null }, |
| 27713 | .src_constraints = .{ .{ .exact_unsigned_int = 64 }, .{ .exact_unsigned_int = 64 }, .any }, |
| 27746 | 27714 | .patterns = &.{ |
| 27747 | | .{ .src = .{ .mem, .to_x87, .none } }, |
| 27748 | | .{ .src = .{ .to_x87, .to_x87, .none } }, |
| 27715 | .{ .src = .{ .{ .to_reg = .rax }, .mem, .none } }, |
| 27716 | .{ .src = .{ .mem, .{ .to_reg = .rax }, .none }, .commute = .{ 0, 1 } }, |
| 27717 | .{ .src = .{ .{ .to_reg = .rax }, .to_gpr, .none } }, |
| 27749 | 27718 | }, |
| 27750 | 27719 | .extra_temps = .{ |
| 27751 | | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 27720 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 27752 | 27721 | .unused, |
| 27753 | 27722 | .unused, |
| 27754 | 27723 | .unused, |
| ... | ... | @@ -27760,26 +27729,25 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 27760 | 27729 | .unused, |
| 27761 | 27730 | .unused, |
| 27762 | 27731 | }, |
| 27763 | | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| 27732 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 27733 | .clobbers = .{ .eflags = true }, |
| 27764 | 27734 | .each = .{ .once = &.{ |
| 27765 | | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| 27766 | | .{ ._, .f_, .div, .tmp0t, .src1t, ._, ._ }, |
| 27767 | | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| 27735 | .{ ._, ._, .mul, .src1q, ._, ._, ._ }, |
| 27736 | .{ ._, ._, .sbb, .tmp0q, .tmp0q, ._, ._ }, |
| 27737 | .{ ._, ._, .@"or", .dst0q, .tmp0q, ._, ._ }, |
| 27768 | 27738 | } }, |
| 27769 | 27739 | }, .{ |
| 27770 | | .required_features = .{ .x87, null, null, null }, |
| 27771 | | .src_constraints = .{ |
| 27772 | | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 27773 | | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 27774 | | .any, |
| 27775 | | }, |
| 27740 | .required_features = .{ .@"64bit", .bmi, .cmov, null }, |
| 27741 | .src_constraints = .{ .{ .unsigned_int = .qword }, .{ .unsigned_int = .qword }, .any }, |
| 27776 | 27742 | .patterns = &.{ |
| 27777 | | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 27743 | .{ .src = .{ .{ .to_reg = .rax }, .mem, .none } }, |
| 27744 | .{ .src = .{ .mem, .{ .to_reg = .rax }, .none }, .commute = .{ 0, 1 } }, |
| 27745 | .{ .src = .{ .{ .to_reg = .rax }, .to_gpr, .none } }, |
| 27778 | 27746 | }, |
| 27779 | 27747 | .extra_temps = .{ |
| 27780 | | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 27781 | | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 27782 | | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 27748 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 27749 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 27750 | .{ .type = .u64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 27783 | 27751 | .unused, |
| 27784 | 27752 | .unused, |
| 27785 | 27753 | .unused, |
| ... | ... | @@ -27789,31 +27757,26 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 27789 | 27757 | .unused, |
| 27790 | 27758 | .unused, |
| 27791 | 27759 | }, |
| 27792 | | .dst_temps = .{ .mem, .unused }, |
| 27760 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 27793 | 27761 | .clobbers = .{ .eflags = true }, |
| 27794 | 27762 | .each = .{ .once = &.{ |
| 27795 | | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 27796 | | .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 27797 | | .{ ._, .f_, .ld, .memia(.src1t, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 27798 | | .{ ._, .f_p, .div, ._, ._, ._, ._ }, |
| 27799 | | .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 27800 | | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 27801 | | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 27763 | .{ ._, ._, .mov, .tmp1q, .ua(.src0, .add_umax), ._, ._ }, |
| 27764 | .{ ._, ._, .mul, .src1q, ._, ._, ._ }, |
| 27765 | .{ ._, ._, .andn, .tmp2q, .tmp1q, .dst0q, ._ }, |
| 27766 | .{ ._, ._, .@"or", .tmp2q, .tmp0q, ._, ._ }, |
| 27767 | .{ ._, ._nz, .cmov, .dst0q, .tmp1q, ._, ._ }, |
| 27802 | 27768 | } }, |
| 27803 | 27769 | }, .{ |
| 27804 | | .required_features = .{ .sse, null, null, null }, |
| 27805 | | .src_constraints = .{ |
| 27806 | | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, |
| 27807 | | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, |
| 27808 | | .any, |
| 27809 | | }, |
| 27770 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| 27771 | .src_constraints = .{ .{ .unsigned_int = .qword }, .{ .unsigned_int = .qword }, .any }, |
| 27810 | 27772 | .patterns = &.{ |
| 27811 | | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, |
| 27773 | .{ .src = .{ .{ .to_reg = .rax }, .mem, .none } }, |
| 27774 | .{ .src = .{ .mem, .{ .to_reg = .rax }, .none }, .commute = .{ 0, 1 } }, |
| 27775 | .{ .src = .{ .{ .to_reg = .rax }, .to_gpr, .none } }, |
| 27812 | 27776 | }, |
| 27813 | | .call_frame = .{ .alignment = .@"16" }, |
| 27814 | 27777 | .extra_temps = .{ |
| 27815 | | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } }, |
| 27816 | | .unused, |
| 27778 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 27779 | .{ .type = .u64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 27817 | 27780 | .unused, |
| 27818 | 27781 | .unused, |
| 27819 | 27782 | .unused, |
| ... | ... | @@ -27825,26 +27788,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 27825 | 27788 | .unused, |
| 27826 | 27789 | }, |
| 27827 | 27790 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 27828 | | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 27791 | .clobbers = .{ .eflags = true }, |
| 27829 | 27792 | .each = .{ .once = &.{ |
| 27830 | | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 27793 | .{ ._, ._, .mul, .src1q, ._, ._, ._ }, |
| 27794 | .{ ._, ._, .mov, .tmp1q, .ua(.src0, .add_2_smin), ._, ._ }, |
| 27795 | .{ ._, ._, .@"and", .tmp1q, .dst0q, ._, ._ }, |
| 27796 | .{ ._, ._, .@"or", .tmp1q, .tmp0q, ._, ._ }, |
| 27797 | .{ ._, ._, .mov, .tmp0q, .ua(.src0, .add_umax), ._, ._ }, |
| 27798 | .{ ._, ._nz, .cmov, .dst0q, .tmp0q, ._, ._ }, |
| 27831 | 27799 | } }, |
| 27832 | 27800 | }, .{ |
| 27833 | | .required_features = .{ .avx, null, null, null }, |
| 27834 | | .src_constraints = .{ |
| 27835 | | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, |
| 27836 | | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, |
| 27837 | | .any, |
| 27838 | | }, |
| 27801 | .required_features = .{ .@"64bit", null, null, null }, |
| 27802 | .src_constraints = .{ .{ .unsigned_int = .qword }, .{ .unsigned_int = .qword }, .any }, |
| 27839 | 27803 | .patterns = &.{ |
| 27840 | | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 27804 | .{ .src = .{ .{ .to_reg = .rax }, .mem, .none } }, |
| 27805 | .{ .src = .{ .mem, .{ .to_reg = .rax }, .none }, .commute = .{ 0, 1 } }, |
| 27806 | .{ .src = .{ .{ .to_reg = .rax }, .to_gpr, .none } }, |
| 27841 | 27807 | }, |
| 27842 | | .call_frame = .{ .alignment = .@"16" }, |
| 27843 | 27808 | .extra_temps = .{ |
| 27844 | | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 27845 | | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, |
| 27846 | | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| 27847 | | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } }, |
| 27809 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 27810 | .{ .type = .u64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 27811 | .unused, |
| 27812 | .unused, |
| 27848 | 27813 | .unused, |
| 27849 | 27814 | .unused, |
| 27850 | 27815 | .unused, |
| ... | ... | @@ -27853,28 +27818,5280 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 27853 | 27818 | .unused, |
| 27854 | 27819 | .unused, |
| 27855 | 27820 | }, |
| 27856 | | .dst_temps = .{ .mem, .unused }, |
| 27857 | | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 27821 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 27822 | .clobbers = .{ .eflags = true }, |
| 27858 | 27823 | .each = .{ .once = &.{ |
| 27859 | | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 27860 | | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 27861 | | .{ ._, .v_dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 27862 | | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 27863 | | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| 27864 | | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 27865 | | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 27824 | .{ ._, ._, .mul, .src1q, ._, ._, ._ }, |
| 27825 | .{ ._, ._, .mov, .tmp1q, .ua(.src0, .add_2_smin), ._, ._ }, |
| 27826 | .{ ._, ._, .@"and", .tmp1q, .dst0q, ._, ._ }, |
| 27827 | .{ ._, ._, .@"or", .tmp1q, .tmp0q, ._, ._ }, |
| 27828 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 27829 | .{ ._, ._, .mov, .dst0q, .ua(.src0, .add_umax), ._, ._ }, |
| 27866 | 27830 | } }, |
| 27867 | 27831 | }, .{ |
| 27868 | | .required_features = .{ .sse2, null, null, null }, |
| 27832 | .required_features = .{ .@"64bit", .cmov, .slow_incdec, null }, |
| 27869 | 27833 | .src_constraints = .{ |
| 27870 | | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, |
| 27871 | | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, |
| 27834 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } }, |
| 27835 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } }, |
| 27872 | 27836 | .any, |
| 27873 | 27837 | }, |
| 27874 | 27838 | .patterns = &.{ |
| 27875 | 27839 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 27876 | 27840 | }, |
| 27877 | | .call_frame = .{ .alignment = .@"16" }, |
| 27841 | .extra_temps = .{ |
| 27842 | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 27843 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 27844 | .{ .type = .usize, .kind = .{ .reg = .rcx } }, |
| 27845 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 27846 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 27847 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 27848 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 27849 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 27850 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 27851 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 27852 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 27853 | }, |
| 27854 | .dst_temps = .{ .mem, .unused }, |
| 27855 | .clobbers = .{ .eflags = true }, |
| 27856 | .each = .{ .once = &.{ |
| 27857 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 27858 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 27859 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 27860 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 27861 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 27862 | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| 27863 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| 27864 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 27865 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 27866 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 27867 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| 27868 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| 27869 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 27870 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| 27871 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 27872 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ }, |
| 27873 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| 27874 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| 27875 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 27876 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| 27877 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| 27878 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| 27879 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| 27880 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ }, |
| 27881 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 27882 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 27883 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| 27884 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| 27885 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 27886 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 27887 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| 27888 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| 27889 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| 27890 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 27891 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 27892 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 27893 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 27894 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 27895 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 27896 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 27897 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 27898 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 27899 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| 27900 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| 27901 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| 27902 | .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ }, |
| 27903 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 27904 | .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ }, |
| 27905 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 27906 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| 27907 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 27908 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 27909 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 27910 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 27911 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 27912 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 27913 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 27914 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| 27915 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 27916 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| 27917 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 27918 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 27919 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 27920 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| 27921 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 27922 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 27923 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 27924 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 27925 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 27926 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 27927 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 27928 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 27929 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 27930 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 27931 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| 27932 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 27933 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 27934 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 27935 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 27936 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| 27937 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ }, |
| 27938 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 27939 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| 27940 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| 27941 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 27942 | .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ }, |
| 27943 | .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ }, |
| 27944 | .{ ._, ._, .not, .tmp9q, ._, ._, ._ }, |
| 27945 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| 27946 | .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ }, |
| 27947 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 27948 | .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .ui(1), ._ }, |
| 27949 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp9q, ._, ._ }, |
| 27950 | } }, |
| 27951 | }, .{ |
| 27952 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| 27953 | .src_constraints = .{ |
| 27954 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } }, |
| 27955 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } }, |
| 27956 | .any, |
| 27957 | }, |
| 27958 | .patterns = &.{ |
| 27959 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 27960 | }, |
| 27961 | .extra_temps = .{ |
| 27962 | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 27963 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 27964 | .{ .type = .usize, .kind = .{ .reg = .rcx } }, |
| 27965 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 27966 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 27967 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 27968 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 27969 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 27970 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 27971 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 27972 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 27973 | }, |
| 27974 | .dst_temps = .{ .mem, .unused }, |
| 27975 | .clobbers = .{ .eflags = true }, |
| 27976 | .each = .{ .once = &.{ |
| 27977 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 27978 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 27979 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 27980 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 27981 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 27982 | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| 27983 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| 27984 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 27985 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 27986 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 27987 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| 27988 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| 27989 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 27990 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| 27991 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 27992 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ }, |
| 27993 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| 27994 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| 27995 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 27996 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| 27997 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| 27998 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| 27999 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| 28000 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ }, |
| 28001 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 28002 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 28003 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| 28004 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| 28005 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 28006 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 28007 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| 28008 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| 28009 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| 28010 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 28011 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 28012 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 28013 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 28014 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 28015 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 28016 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 28017 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 28018 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 28019 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| 28020 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| 28021 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| 28022 | .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ }, |
| 28023 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 28024 | .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ }, |
| 28025 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 28026 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| 28027 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 28028 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28029 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 28030 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 28031 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 28032 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 28033 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 28034 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| 28035 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 28036 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| 28037 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 28038 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 28039 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 28040 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| 28041 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28042 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28043 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 28044 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28045 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 28046 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 28047 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 28048 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 28049 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 28050 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 28051 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| 28052 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 28053 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 28054 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 28055 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 28056 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| 28057 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ }, |
| 28058 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 28059 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| 28060 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| 28061 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 28062 | .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ }, |
| 28063 | .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ }, |
| 28064 | .{ ._, ._, .not, .tmp9q, ._, ._, ._ }, |
| 28065 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| 28066 | .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ }, |
| 28067 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 28068 | .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .ui(1), ._ }, |
| 28069 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp9q, ._, ._ }, |
| 28070 | } }, |
| 28071 | }, .{ |
| 28072 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 28073 | .src_constraints = .{ |
| 28074 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } }, |
| 28075 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } }, |
| 28076 | .any, |
| 28077 | }, |
| 28078 | .patterns = &.{ |
| 28079 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 28080 | }, |
| 28081 | .extra_temps = .{ |
| 28082 | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 28083 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28084 | .{ .type = .usize, .kind = .{ .reg = .rcx } }, |
| 28085 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28086 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28087 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 28088 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28089 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 28090 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28091 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 28092 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 28093 | }, |
| 28094 | .dst_temps = .{ .mem, .unused }, |
| 28095 | .clobbers = .{ .eflags = true }, |
| 28096 | .each = .{ .once = &.{ |
| 28097 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 28098 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 28099 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 28100 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 28101 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 28102 | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| 28103 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| 28104 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 28105 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 28106 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 28107 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| 28108 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| 28109 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 28110 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| 28111 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 28112 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ }, |
| 28113 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| 28114 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| 28115 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 28116 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| 28117 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| 28118 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| 28119 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| 28120 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ }, |
| 28121 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 28122 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 28123 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| 28124 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| 28125 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 28126 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 28127 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| 28128 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| 28129 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| 28130 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 28131 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 28132 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 28133 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 28134 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 28135 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 28136 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 28137 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 28138 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 28139 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| 28140 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| 28141 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| 28142 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 28143 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 28144 | .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ }, |
| 28145 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 28146 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| 28147 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 28148 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28149 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 28150 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 28151 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 28152 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 28153 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 28154 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| 28155 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 28156 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| 28157 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 28158 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 28159 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 28160 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| 28161 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28162 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28163 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 28164 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28165 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 28166 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 28167 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 28168 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 28169 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 28170 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 28171 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| 28172 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 28173 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 28174 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 28175 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 28176 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| 28177 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ }, |
| 28178 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 28179 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| 28180 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| 28181 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 28182 | .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ }, |
| 28183 | .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ }, |
| 28184 | .{ ._, ._, .not, .tmp9q, ._, ._, ._ }, |
| 28185 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| 28186 | .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ }, |
| 28187 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 28188 | .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .ui(1), ._ }, |
| 28189 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp9q, ._, ._ }, |
| 28190 | } }, |
| 28191 | }, .{ |
| 28192 | .required_features = .{ .@"64bit", null, null, null }, |
| 28193 | .src_constraints = .{ |
| 28194 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } }, |
| 28195 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } }, |
| 28196 | .any, |
| 28197 | }, |
| 28198 | .patterns = &.{ |
| 28199 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 28200 | }, |
| 28201 | .extra_temps = .{ |
| 28202 | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 28203 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28204 | .{ .type = .usize, .kind = .{ .reg = .rcx } }, |
| 28205 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28206 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28207 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 28208 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28209 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 28210 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28211 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 28212 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 28213 | }, |
| 28214 | .dst_temps = .{ .mem, .unused }, |
| 28215 | .clobbers = .{ .eflags = true }, |
| 28216 | .each = .{ .once = &.{ |
| 28217 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 28218 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 28219 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 28220 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 28221 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 28222 | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| 28223 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| 28224 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 28225 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 28226 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 28227 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| 28228 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| 28229 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 28230 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| 28231 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 28232 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ }, |
| 28233 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| 28234 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| 28235 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 28236 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| 28237 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| 28238 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| 28239 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| 28240 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ }, |
| 28241 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 28242 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 28243 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| 28244 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| 28245 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 28246 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 28247 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| 28248 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| 28249 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| 28250 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 28251 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 28252 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 28253 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 28254 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 28255 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 28256 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 28257 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 28258 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 28259 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| 28260 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| 28261 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| 28262 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 28263 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 28264 | .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ }, |
| 28265 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 28266 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| 28267 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 28268 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28269 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 28270 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 28271 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 28272 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 28273 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 28274 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| 28275 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 28276 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| 28277 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 28278 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 28279 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 28280 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| 28281 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28282 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28283 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 28284 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28285 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 28286 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 28287 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 28288 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 28289 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 28290 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 28291 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| 28292 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 28293 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 28294 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 28295 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 28296 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| 28297 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ }, |
| 28298 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 28299 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| 28300 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| 28301 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 28302 | .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ }, |
| 28303 | .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ }, |
| 28304 | .{ ._, ._, .not, .tmp9q, ._, ._, ._ }, |
| 28305 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| 28306 | .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ }, |
| 28307 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 28308 | .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .ui(1), ._ }, |
| 28309 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp9q, ._, ._ }, |
| 28310 | } }, |
| 28311 | }, .{ |
| 28312 | .required_features = .{ .@"64bit", .cmov, .slow_incdec, null }, |
| 28313 | .src_constraints = .{ |
| 28314 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, |
| 28315 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, |
| 28316 | .any, |
| 28317 | }, |
| 28318 | .patterns = &.{ |
| 28319 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 28320 | }, |
| 28321 | .extra_temps = .{ |
| 28322 | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 28323 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28324 | .{ .type = .usize, .kind = .{ .reg = .rcx } }, |
| 28325 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28326 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28327 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 28328 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28329 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 28330 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28331 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 28332 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 28333 | }, |
| 28334 | .dst_temps = .{ .mem, .unused }, |
| 28335 | .clobbers = .{ .eflags = true }, |
| 28336 | .each = .{ .once = &.{ |
| 28337 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 28338 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 28339 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 28340 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 28341 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 28342 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 28343 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 28344 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 28345 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| 28346 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| 28347 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 28348 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| 28349 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 28350 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ }, |
| 28351 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| 28352 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| 28353 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 28354 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| 28355 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| 28356 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| 28357 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| 28358 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ }, |
| 28359 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 28360 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 28361 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| 28362 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| 28363 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 28364 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 28365 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| 28366 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| 28367 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| 28368 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 28369 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 28370 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 28371 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 28372 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 28373 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 28374 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 28375 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 28376 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 28377 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| 28378 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| 28379 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| 28380 | .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ }, |
| 28381 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 28382 | .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ }, |
| 28383 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 28384 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| 28385 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 28386 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28387 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 28388 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 28389 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 28390 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 28391 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 28392 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| 28393 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 28394 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| 28395 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 28396 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 28397 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 28398 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| 28399 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28400 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28401 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 28402 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28403 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 28404 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 28405 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 28406 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 28407 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 28408 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 28409 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| 28410 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 28411 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 28412 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 28413 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 28414 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| 28415 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ }, |
| 28416 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 28417 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| 28418 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| 28419 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -16), ._, ._ }, |
| 28420 | .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ }, |
| 28421 | .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ }, |
| 28422 | .{ ._, ._, .xor, .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 28423 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ }, |
| 28424 | .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ }, |
| 28425 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 28426 | .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ }, |
| 28427 | .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ }, |
| 28428 | .{ ._, ._, .not, .tmp9q, ._, ._, ._ }, |
| 28429 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| 28430 | .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ }, |
| 28431 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 28432 | .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .ui(1), ._ }, |
| 28433 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp9q, ._, ._ }, |
| 28434 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ }, |
| 28435 | } }, |
| 28436 | }, .{ |
| 28437 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| 28438 | .src_constraints = .{ |
| 28439 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, |
| 28440 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, |
| 28441 | .any, |
| 28442 | }, |
| 28443 | .patterns = &.{ |
| 28444 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 28445 | }, |
| 28446 | .extra_temps = .{ |
| 28447 | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 28448 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28449 | .{ .type = .usize, .kind = .{ .reg = .rcx } }, |
| 28450 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28451 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28452 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 28453 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28454 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 28455 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28456 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 28457 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 28458 | }, |
| 28459 | .dst_temps = .{ .mem, .unused }, |
| 28460 | .clobbers = .{ .eflags = true }, |
| 28461 | .each = .{ .once = &.{ |
| 28462 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 28463 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 28464 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 28465 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 28466 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 28467 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 28468 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 28469 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 28470 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| 28471 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| 28472 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 28473 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| 28474 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 28475 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ }, |
| 28476 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| 28477 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| 28478 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 28479 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| 28480 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| 28481 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| 28482 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| 28483 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ }, |
| 28484 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 28485 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 28486 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| 28487 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| 28488 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 28489 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 28490 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| 28491 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| 28492 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| 28493 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 28494 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 28495 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 28496 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 28497 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 28498 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 28499 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 28500 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 28501 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 28502 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| 28503 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| 28504 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| 28505 | .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ }, |
| 28506 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 28507 | .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ }, |
| 28508 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 28509 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| 28510 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 28511 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28512 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 28513 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 28514 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 28515 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 28516 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 28517 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| 28518 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 28519 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| 28520 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 28521 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 28522 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 28523 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| 28524 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28525 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28526 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 28527 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28528 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 28529 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 28530 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 28531 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 28532 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 28533 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 28534 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| 28535 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 28536 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 28537 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 28538 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 28539 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| 28540 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ }, |
| 28541 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 28542 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| 28543 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| 28544 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -16), ._, ._ }, |
| 28545 | .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ }, |
| 28546 | .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ }, |
| 28547 | .{ ._, ._, .xor, .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 28548 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ }, |
| 28549 | .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ }, |
| 28550 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 28551 | .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ }, |
| 28552 | .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ }, |
| 28553 | .{ ._, ._, .not, .tmp9q, ._, ._, ._ }, |
| 28554 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| 28555 | .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ }, |
| 28556 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 28557 | .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .ui(1), ._ }, |
| 28558 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp9q, ._, ._ }, |
| 28559 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ }, |
| 28560 | } }, |
| 28561 | }, .{ |
| 28562 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 28563 | .src_constraints = .{ |
| 28564 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, |
| 28565 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, |
| 28566 | .any, |
| 28567 | }, |
| 28568 | .patterns = &.{ |
| 28569 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 28570 | }, |
| 28571 | .extra_temps = .{ |
| 28572 | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 28573 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28574 | .{ .type = .usize, .kind = .{ .reg = .rcx } }, |
| 28575 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28576 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28577 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 28578 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28579 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 28580 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28581 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 28582 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 28583 | }, |
| 28584 | .dst_temps = .{ .mem, .unused }, |
| 28585 | .clobbers = .{ .eflags = true }, |
| 28586 | .each = .{ .once = &.{ |
| 28587 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 28588 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 28589 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 28590 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 28591 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 28592 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 28593 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 28594 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 28595 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| 28596 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| 28597 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 28598 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| 28599 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 28600 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ }, |
| 28601 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| 28602 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| 28603 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 28604 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| 28605 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| 28606 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| 28607 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| 28608 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ }, |
| 28609 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 28610 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 28611 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| 28612 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| 28613 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 28614 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 28615 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| 28616 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| 28617 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| 28618 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 28619 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 28620 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 28621 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 28622 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 28623 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 28624 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 28625 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 28626 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 28627 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| 28628 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| 28629 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| 28630 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 28631 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 28632 | .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ }, |
| 28633 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 28634 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| 28635 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 28636 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28637 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 28638 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 28639 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 28640 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 28641 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 28642 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| 28643 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 28644 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| 28645 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 28646 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 28647 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 28648 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| 28649 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28650 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28651 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 28652 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28653 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 28654 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 28655 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 28656 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 28657 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 28658 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 28659 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| 28660 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 28661 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 28662 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 28663 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 28664 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| 28665 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ }, |
| 28666 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 28667 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| 28668 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| 28669 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -16), ._, ._ }, |
| 28670 | .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ }, |
| 28671 | .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ }, |
| 28672 | .{ ._, ._, .xor, .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 28673 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ }, |
| 28674 | .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ }, |
| 28675 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 28676 | .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ }, |
| 28677 | .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ }, |
| 28678 | .{ ._, ._, .not, .tmp9q, ._, ._, ._ }, |
| 28679 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| 28680 | .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ }, |
| 28681 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 28682 | .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .ui(1), ._ }, |
| 28683 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp9q, ._, ._ }, |
| 28684 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ }, |
| 28685 | } }, |
| 28686 | }, .{ |
| 28687 | .required_features = .{ .@"64bit", null, null, null }, |
| 28688 | .src_constraints = .{ |
| 28689 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, |
| 28690 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, |
| 28691 | .any, |
| 28692 | }, |
| 28693 | .patterns = &.{ |
| 28694 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 28695 | }, |
| 28696 | .extra_temps = .{ |
| 28697 | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 28698 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28699 | .{ .type = .usize, .kind = .{ .reg = .rcx } }, |
| 28700 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28701 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28702 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 28703 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28704 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 28705 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28706 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 28707 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 28708 | }, |
| 28709 | .dst_temps = .{ .mem, .unused }, |
| 28710 | .clobbers = .{ .eflags = true }, |
| 28711 | .each = .{ .once = &.{ |
| 28712 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 28713 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 28714 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 28715 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 28716 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 28717 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 28718 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 28719 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 28720 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| 28721 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| 28722 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 28723 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| 28724 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 28725 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ }, |
| 28726 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| 28727 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| 28728 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 28729 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| 28730 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| 28731 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| 28732 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| 28733 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ }, |
| 28734 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 28735 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 28736 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| 28737 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| 28738 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 28739 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 28740 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| 28741 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| 28742 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| 28743 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 28744 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 28745 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 28746 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 28747 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 28748 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 28749 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 28750 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 28751 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 28752 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| 28753 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| 28754 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| 28755 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 28756 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 28757 | .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ }, |
| 28758 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 28759 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| 28760 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 28761 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28762 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 28763 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 28764 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 28765 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 28766 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 28767 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| 28768 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 28769 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| 28770 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 28771 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 28772 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 28773 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| 28774 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28775 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28776 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 28777 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28778 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 28779 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 28780 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 28781 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 28782 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 28783 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 28784 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| 28785 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 28786 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 28787 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 28788 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 28789 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| 28790 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ }, |
| 28791 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 28792 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| 28793 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| 28794 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -16), ._, ._ }, |
| 28795 | .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ }, |
| 28796 | .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ }, |
| 28797 | .{ ._, ._, .xor, .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 28798 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ }, |
| 28799 | .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ }, |
| 28800 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 28801 | .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ }, |
| 28802 | .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ }, |
| 28803 | .{ ._, ._, .not, .tmp9q, ._, ._, ._ }, |
| 28804 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| 28805 | .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ }, |
| 28806 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 28807 | .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .ui(1), ._ }, |
| 28808 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp9q, ._, ._ }, |
| 28809 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ }, |
| 28810 | } }, |
| 28811 | }, .{ |
| 28812 | .required_features = .{ .@"64bit", .cmov, .slow_incdec, null }, |
| 28813 | .src_constraints = .{ |
| 28814 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 1 } }, |
| 28815 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 1 } }, |
| 28816 | .any, |
| 28817 | }, |
| 28818 | .patterns = &.{ |
| 28819 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 28820 | }, |
| 28821 | .extra_temps = .{ |
| 28822 | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 28823 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28824 | .{ .type = .usize, .kind = .{ .reg = .rcx } }, |
| 28825 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28826 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28827 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 28828 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28829 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 28830 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28831 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 28832 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 28833 | }, |
| 28834 | .dst_temps = .{ .mem, .unused }, |
| 28835 | .clobbers = .{ .eflags = true }, |
| 28836 | .each = .{ .once = &.{ |
| 28837 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 28838 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 28839 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 28840 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 28841 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 28842 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 28843 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 28844 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 28845 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| 28846 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| 28847 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 28848 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| 28849 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 28850 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ }, |
| 28851 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| 28852 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| 28853 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 28854 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| 28855 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| 28856 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| 28857 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| 28858 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ }, |
| 28859 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 28860 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 28861 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| 28862 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| 28863 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 28864 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 28865 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| 28866 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| 28867 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| 28868 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 28869 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 28870 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 28871 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 28872 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 28873 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 28874 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 28875 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 28876 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 28877 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| 28878 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| 28879 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| 28880 | .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ }, |
| 28881 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 28882 | .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ }, |
| 28883 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 28884 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| 28885 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 28886 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28887 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 28888 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 28889 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 28890 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 28891 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 28892 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| 28893 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 28894 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| 28895 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 28896 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 28897 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 28898 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| 28899 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28900 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28901 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 28902 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 28903 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 28904 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 28905 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 28906 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 28907 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 28908 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 28909 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| 28910 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 28911 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 28912 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 28913 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 28914 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| 28915 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ }, |
| 28916 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 28917 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| 28918 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| 28919 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -16), ._, ._ }, |
| 28920 | .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ }, |
| 28921 | .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 28922 | .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 28923 | .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ }, |
| 28924 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp0q, ._, ._ }, |
| 28925 | .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ }, |
| 28926 | .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ }, |
| 28927 | .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ }, |
| 28928 | .{ ._, ._, .xor, .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 28929 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ }, |
| 28930 | .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ }, |
| 28931 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 28932 | .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ }, |
| 28933 | .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ }, |
| 28934 | .{ ._, ._, .not, .tmp9q, ._, ._, ._ }, |
| 28935 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| 28936 | .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ }, |
| 28937 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 28938 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp1q, ._, ._ }, |
| 28939 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ }, |
| 28940 | } }, |
| 28941 | }, .{ |
| 28942 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| 28943 | .src_constraints = .{ |
| 28944 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 1 } }, |
| 28945 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 1 } }, |
| 28946 | .any, |
| 28947 | }, |
| 28948 | .patterns = &.{ |
| 28949 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 28950 | }, |
| 28951 | .extra_temps = .{ |
| 28952 | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 28953 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28954 | .{ .type = .usize, .kind = .{ .reg = .rcx } }, |
| 28955 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28956 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28957 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 28958 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28959 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 28960 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 28961 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 28962 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 28963 | }, |
| 28964 | .dst_temps = .{ .mem, .unused }, |
| 28965 | .clobbers = .{ .eflags = true }, |
| 28966 | .each = .{ .once = &.{ |
| 28967 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 28968 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 28969 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 28970 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 28971 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 28972 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 28973 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 28974 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 28975 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| 28976 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| 28977 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 28978 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| 28979 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 28980 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ }, |
| 28981 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| 28982 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| 28983 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 28984 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| 28985 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| 28986 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| 28987 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| 28988 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ }, |
| 28989 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 28990 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 28991 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| 28992 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| 28993 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 28994 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 28995 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| 28996 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| 28997 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| 28998 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 28999 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 29000 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 29001 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 29002 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 29003 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 29004 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 29005 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 29006 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 29007 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| 29008 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| 29009 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| 29010 | .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ }, |
| 29011 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 29012 | .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ }, |
| 29013 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 29014 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| 29015 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 29016 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29017 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 29018 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 29019 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 29020 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 29021 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 29022 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| 29023 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 29024 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| 29025 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 29026 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 29027 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 29028 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| 29029 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29030 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29031 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 29032 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29033 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 29034 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 29035 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 29036 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 29037 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 29038 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 29039 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| 29040 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 29041 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 29042 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 29043 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 29044 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| 29045 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ }, |
| 29046 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 29047 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| 29048 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| 29049 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -16), ._, ._ }, |
| 29050 | .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ }, |
| 29051 | .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 29052 | .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 29053 | .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ }, |
| 29054 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp0q, ._, ._ }, |
| 29055 | .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ }, |
| 29056 | .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ }, |
| 29057 | .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ }, |
| 29058 | .{ ._, ._, .xor, .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 29059 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ }, |
| 29060 | .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ }, |
| 29061 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 29062 | .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ }, |
| 29063 | .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ }, |
| 29064 | .{ ._, ._, .not, .tmp9q, ._, ._, ._ }, |
| 29065 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| 29066 | .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ }, |
| 29067 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 29068 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp1q, ._, ._ }, |
| 29069 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ }, |
| 29070 | } }, |
| 29071 | }, .{ |
| 29072 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 29073 | .src_constraints = .{ |
| 29074 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 1 } }, |
| 29075 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 1 } }, |
| 29076 | .any, |
| 29077 | }, |
| 29078 | .patterns = &.{ |
| 29079 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 29080 | }, |
| 29081 | .extra_temps = .{ |
| 29082 | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 29083 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29084 | .{ .type = .usize, .kind = .{ .reg = .rcx } }, |
| 29085 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29086 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29087 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 29088 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29089 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 29090 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29091 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 29092 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 29093 | }, |
| 29094 | .dst_temps = .{ .mem, .unused }, |
| 29095 | .clobbers = .{ .eflags = true }, |
| 29096 | .each = .{ .once = &.{ |
| 29097 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 29098 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 29099 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 29100 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 29101 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 29102 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 29103 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 29104 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 29105 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| 29106 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| 29107 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 29108 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| 29109 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 29110 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ }, |
| 29111 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| 29112 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| 29113 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 29114 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| 29115 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| 29116 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| 29117 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| 29118 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ }, |
| 29119 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 29120 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 29121 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| 29122 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| 29123 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 29124 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 29125 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| 29126 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| 29127 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| 29128 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 29129 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 29130 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 29131 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 29132 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 29133 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 29134 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 29135 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 29136 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 29137 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| 29138 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| 29139 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| 29140 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 29141 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 29142 | .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ }, |
| 29143 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 29144 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| 29145 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 29146 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29147 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 29148 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 29149 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 29150 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 29151 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 29152 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| 29153 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 29154 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| 29155 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 29156 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 29157 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 29158 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| 29159 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29160 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29161 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 29162 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29163 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 29164 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 29165 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 29166 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 29167 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 29168 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 29169 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| 29170 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 29171 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 29172 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 29173 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 29174 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| 29175 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ }, |
| 29176 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 29177 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| 29178 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| 29179 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -16), ._, ._ }, |
| 29180 | .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ }, |
| 29181 | .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 29182 | .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 29183 | .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ }, |
| 29184 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp0q, ._, ._ }, |
| 29185 | .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ }, |
| 29186 | .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ }, |
| 29187 | .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ }, |
| 29188 | .{ ._, ._, .xor, .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 29189 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ }, |
| 29190 | .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ }, |
| 29191 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 29192 | .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ }, |
| 29193 | .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ }, |
| 29194 | .{ ._, ._, .not, .tmp9q, ._, ._, ._ }, |
| 29195 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| 29196 | .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ }, |
| 29197 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 29198 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp1q, ._, ._ }, |
| 29199 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ }, |
| 29200 | } }, |
| 29201 | }, .{ |
| 29202 | .required_features = .{ .@"64bit", null, null, null }, |
| 29203 | .src_constraints = .{ |
| 29204 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 1 } }, |
| 29205 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 1 } }, |
| 29206 | .any, |
| 29207 | }, |
| 29208 | .patterns = &.{ |
| 29209 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 29210 | }, |
| 29211 | .extra_temps = .{ |
| 29212 | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 29213 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29214 | .{ .type = .usize, .kind = .{ .reg = .rcx } }, |
| 29215 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29216 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29217 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 29218 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29219 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 29220 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29221 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 29222 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 29223 | }, |
| 29224 | .dst_temps = .{ .mem, .unused }, |
| 29225 | .clobbers = .{ .eflags = true }, |
| 29226 | .each = .{ .once = &.{ |
| 29227 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 29228 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 29229 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 29230 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 29231 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 29232 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 29233 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 29234 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 29235 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| 29236 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| 29237 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 29238 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| 29239 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 29240 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ }, |
| 29241 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| 29242 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| 29243 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 29244 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| 29245 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| 29246 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| 29247 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| 29248 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ }, |
| 29249 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 29250 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 29251 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| 29252 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| 29253 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 29254 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 29255 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| 29256 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| 29257 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| 29258 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 29259 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 29260 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 29261 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 29262 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 29263 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 29264 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 29265 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 29266 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 29267 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| 29268 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| 29269 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| 29270 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 29271 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 29272 | .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ }, |
| 29273 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 29274 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| 29275 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 29276 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29277 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 29278 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 29279 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 29280 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 29281 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 29282 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| 29283 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 29284 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| 29285 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 29286 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 29287 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 29288 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| 29289 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29290 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29291 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 29292 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29293 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 29294 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 29295 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 29296 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 29297 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 29298 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 29299 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| 29300 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 29301 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 29302 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 29303 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 29304 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| 29305 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ }, |
| 29306 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 29307 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| 29308 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| 29309 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -16), ._, ._ }, |
| 29310 | .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ }, |
| 29311 | .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 29312 | .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 29313 | .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ }, |
| 29314 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp0q, ._, ._ }, |
| 29315 | .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ }, |
| 29316 | .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ }, |
| 29317 | .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ }, |
| 29318 | .{ ._, ._, .xor, .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 29319 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ }, |
| 29320 | .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ }, |
| 29321 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 29322 | .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ }, |
| 29323 | .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ }, |
| 29324 | .{ ._, ._, .not, .tmp9q, ._, ._, ._ }, |
| 29325 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| 29326 | .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ }, |
| 29327 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 29328 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp1q, ._, ._ }, |
| 29329 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ }, |
| 29330 | } }, |
| 29331 | }, .{ |
| 29332 | .required_features = .{ .@"64bit", .cmov, .slow_incdec, null }, |
| 29333 | .src_constraints = .{ |
| 29334 | .{ .remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 29335 | .{ .remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 29336 | .any, |
| 29337 | }, |
| 29338 | .patterns = &.{ |
| 29339 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 29340 | }, |
| 29341 | .extra_temps = .{ |
| 29342 | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 29343 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29344 | .{ .type = .usize, .kind = .{ .reg = .rcx } }, |
| 29345 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29346 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29347 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 29348 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29349 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 29350 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29351 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 29352 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 29353 | }, |
| 29354 | .dst_temps = .{ .mem, .unused }, |
| 29355 | .clobbers = .{ .eflags = true }, |
| 29356 | .each = .{ .once = &.{ |
| 29357 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 29358 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 29359 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 29360 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 29361 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 29362 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 29363 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 29364 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 29365 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| 29366 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| 29367 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 29368 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| 29369 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 29370 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ }, |
| 29371 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| 29372 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| 29373 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 29374 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| 29375 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| 29376 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| 29377 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| 29378 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ }, |
| 29379 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 29380 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 29381 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| 29382 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| 29383 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 29384 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 29385 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| 29386 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| 29387 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| 29388 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 29389 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 29390 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 29391 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 29392 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 29393 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 29394 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 29395 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 29396 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 29397 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| 29398 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| 29399 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| 29400 | .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ }, |
| 29401 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 29402 | .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ }, |
| 29403 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 29404 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| 29405 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 29406 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29407 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 29408 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 29409 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 29410 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 29411 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 29412 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| 29413 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 29414 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| 29415 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 29416 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 29417 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 29418 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| 29419 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29420 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29421 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 29422 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29423 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 29424 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 29425 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 29426 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 29427 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 29428 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 29429 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| 29430 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 29431 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 29432 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 29433 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 29434 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| 29435 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ }, |
| 29436 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 29437 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| 29438 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| 29439 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -16), ._, ._ }, |
| 29440 | .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ }, |
| 29441 | .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 29442 | .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 29443 | .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ }, |
| 29444 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp0q, ._, ._ }, |
| 29445 | .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ }, |
| 29446 | .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ }, |
| 29447 | .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ }, |
| 29448 | .{ ._, ._, .xor, .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 29449 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ }, |
| 29450 | .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ }, |
| 29451 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 29452 | .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ }, |
| 29453 | .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ }, |
| 29454 | .{ ._, ._, .not, .tmp9q, ._, ._, ._ }, |
| 29455 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| 29456 | .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ }, |
| 29457 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 29458 | .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .uia(65, .dst0, .sub_bit_size_rem_64), ._ }, |
| 29459 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp9q, ._, ._ }, |
| 29460 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ }, |
| 29461 | } }, |
| 29462 | }, .{ |
| 29463 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| 29464 | .src_constraints = .{ |
| 29465 | .{ .remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 29466 | .{ .remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 29467 | .any, |
| 29468 | }, |
| 29469 | .patterns = &.{ |
| 29470 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 29471 | }, |
| 29472 | .extra_temps = .{ |
| 29473 | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 29474 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29475 | .{ .type = .usize, .kind = .{ .reg = .rcx } }, |
| 29476 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29477 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29478 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 29479 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29480 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 29481 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29482 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 29483 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 29484 | }, |
| 29485 | .dst_temps = .{ .mem, .unused }, |
| 29486 | .clobbers = .{ .eflags = true }, |
| 29487 | .each = .{ .once = &.{ |
| 29488 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 29489 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 29490 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 29491 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 29492 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 29493 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 29494 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 29495 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 29496 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| 29497 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| 29498 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 29499 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| 29500 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 29501 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ }, |
| 29502 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| 29503 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| 29504 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 29505 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| 29506 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| 29507 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| 29508 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| 29509 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ }, |
| 29510 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 29511 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 29512 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| 29513 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| 29514 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 29515 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 29516 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| 29517 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| 29518 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| 29519 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 29520 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 29521 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 29522 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 29523 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 29524 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 29525 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 29526 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 29527 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 29528 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| 29529 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| 29530 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| 29531 | .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ }, |
| 29532 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 29533 | .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ }, |
| 29534 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 29535 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| 29536 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 29537 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29538 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 29539 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 29540 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 29541 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 29542 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 29543 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| 29544 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 29545 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| 29546 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 29547 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 29548 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 29549 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| 29550 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29551 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29552 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 29553 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29554 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 29555 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 29556 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 29557 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 29558 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 29559 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 29560 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| 29561 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 29562 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 29563 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 29564 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 29565 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| 29566 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ }, |
| 29567 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 29568 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| 29569 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| 29570 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -16), ._, ._ }, |
| 29571 | .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ }, |
| 29572 | .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 29573 | .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 29574 | .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ }, |
| 29575 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp0q, ._, ._ }, |
| 29576 | .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ }, |
| 29577 | .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ }, |
| 29578 | .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ }, |
| 29579 | .{ ._, ._, .xor, .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 29580 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ }, |
| 29581 | .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ }, |
| 29582 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 29583 | .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ }, |
| 29584 | .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ }, |
| 29585 | .{ ._, ._, .not, .tmp9q, ._, ._, ._ }, |
| 29586 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| 29587 | .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ }, |
| 29588 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 29589 | .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .uia(65, .dst0, .sub_bit_size_rem_64), ._ }, |
| 29590 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp9q, ._, ._ }, |
| 29591 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ }, |
| 29592 | } }, |
| 29593 | }, .{ |
| 29594 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 29595 | .src_constraints = .{ |
| 29596 | .{ .remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 29597 | .{ .remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 29598 | .any, |
| 29599 | }, |
| 29600 | .patterns = &.{ |
| 29601 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 29602 | }, |
| 29603 | .extra_temps = .{ |
| 29604 | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 29605 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29606 | .{ .type = .usize, .kind = .{ .reg = .rcx } }, |
| 29607 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29608 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29609 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 29610 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29611 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 29612 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29613 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 29614 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 29615 | }, |
| 29616 | .dst_temps = .{ .mem, .unused }, |
| 29617 | .clobbers = .{ .eflags = true }, |
| 29618 | .each = .{ .once = &.{ |
| 29619 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 29620 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 29621 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 29622 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 29623 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 29624 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 29625 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 29626 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 29627 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| 29628 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| 29629 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 29630 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| 29631 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 29632 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ }, |
| 29633 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| 29634 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| 29635 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 29636 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| 29637 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| 29638 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| 29639 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| 29640 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ }, |
| 29641 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 29642 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 29643 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| 29644 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| 29645 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 29646 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 29647 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| 29648 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| 29649 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| 29650 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 29651 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 29652 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 29653 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 29654 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 29655 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 29656 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 29657 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 29658 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 29659 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| 29660 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| 29661 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| 29662 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 29663 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 29664 | .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ }, |
| 29665 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 29666 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| 29667 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 29668 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29669 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 29670 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 29671 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 29672 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 29673 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 29674 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| 29675 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 29676 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| 29677 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 29678 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 29679 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 29680 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| 29681 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29682 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29683 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 29684 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29685 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 29686 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 29687 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 29688 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 29689 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 29690 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 29691 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| 29692 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 29693 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 29694 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 29695 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 29696 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| 29697 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ }, |
| 29698 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 29699 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| 29700 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| 29701 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -16), ._, ._ }, |
| 29702 | .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ }, |
| 29703 | .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 29704 | .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 29705 | .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ }, |
| 29706 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp0q, ._, ._ }, |
| 29707 | .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ }, |
| 29708 | .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ }, |
| 29709 | .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ }, |
| 29710 | .{ ._, ._, .xor, .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 29711 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ }, |
| 29712 | .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ }, |
| 29713 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 29714 | .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ }, |
| 29715 | .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ }, |
| 29716 | .{ ._, ._, .not, .tmp9q, ._, ._, ._ }, |
| 29717 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| 29718 | .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ }, |
| 29719 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 29720 | .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .uia(65, .dst0, .sub_bit_size_rem_64), ._ }, |
| 29721 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp9q, ._, ._ }, |
| 29722 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ }, |
| 29723 | } }, |
| 29724 | }, .{ |
| 29725 | .required_features = .{ .@"64bit", null, null, null }, |
| 29726 | .src_constraints = .{ |
| 29727 | .{ .remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 29728 | .{ .remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 29729 | .any, |
| 29730 | }, |
| 29731 | .patterns = &.{ |
| 29732 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 29733 | }, |
| 29734 | .extra_temps = .{ |
| 29735 | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 29736 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29737 | .{ .type = .usize, .kind = .{ .reg = .rcx } }, |
| 29738 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29739 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29740 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 29741 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29742 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 29743 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29744 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 29745 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 29746 | }, |
| 29747 | .dst_temps = .{ .mem, .unused }, |
| 29748 | .clobbers = .{ .eflags = true }, |
| 29749 | .each = .{ .once = &.{ |
| 29750 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 29751 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 29752 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 29753 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 29754 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 29755 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 29756 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 29757 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 29758 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| 29759 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| 29760 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 29761 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| 29762 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 29763 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ }, |
| 29764 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| 29765 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| 29766 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 29767 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| 29768 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| 29769 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| 29770 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| 29771 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ }, |
| 29772 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 29773 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 29774 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| 29775 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| 29776 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 29777 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 29778 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| 29779 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| 29780 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| 29781 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 29782 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 29783 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 29784 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 29785 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 29786 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 29787 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 29788 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 29789 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 29790 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| 29791 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| 29792 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| 29793 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 29794 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 29795 | .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ }, |
| 29796 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 29797 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| 29798 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 29799 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29800 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 29801 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 29802 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 29803 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 29804 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 29805 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| 29806 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 29807 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| 29808 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 29809 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 29810 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 29811 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| 29812 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29813 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29814 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 29815 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29816 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 29817 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 29818 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 29819 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 29820 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 29821 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 29822 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| 29823 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 29824 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 29825 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 29826 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 29827 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| 29828 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ }, |
| 29829 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 29830 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| 29831 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| 29832 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -16), ._, ._ }, |
| 29833 | .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ }, |
| 29834 | .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 29835 | .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 29836 | .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ }, |
| 29837 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp0q, ._, ._ }, |
| 29838 | .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ }, |
| 29839 | .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ }, |
| 29840 | .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ }, |
| 29841 | .{ ._, ._, .xor, .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 29842 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ }, |
| 29843 | .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ }, |
| 29844 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 29845 | .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ }, |
| 29846 | .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ }, |
| 29847 | .{ ._, ._, .not, .tmp9q, ._, ._, ._ }, |
| 29848 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| 29849 | .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ }, |
| 29850 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 29851 | .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .uia(65, .dst0, .sub_bit_size_rem_64), ._ }, |
| 29852 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -16), .tmp9q, ._, ._ }, |
| 29853 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ }, |
| 29854 | } }, |
| 29855 | }, .{ |
| 29856 | .required_features = .{ .@"64bit", .cmov, .slow_incdec, null }, |
| 29857 | .src_constraints = .{ |
| 29858 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 65 } }, |
| 29859 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 65 } }, |
| 29860 | .any, |
| 29861 | }, |
| 29862 | .patterns = &.{ |
| 29863 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 29864 | }, |
| 29865 | .extra_temps = .{ |
| 29866 | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 29867 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29868 | .{ .type = .usize, .kind = .{ .reg = .rcx } }, |
| 29869 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29870 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29871 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 29872 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29873 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 29874 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29875 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 29876 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 29877 | }, |
| 29878 | .dst_temps = .{ .mem, .unused }, |
| 29879 | .clobbers = .{ .eflags = true }, |
| 29880 | .each = .{ .once = &.{ |
| 29881 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 29882 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 29883 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 29884 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 29885 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 29886 | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| 29887 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| 29888 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 29889 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 29890 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 29891 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| 29892 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| 29893 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 29894 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| 29895 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 29896 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ }, |
| 29897 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| 29898 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| 29899 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 29900 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| 29901 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| 29902 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| 29903 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| 29904 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ }, |
| 29905 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 29906 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 29907 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| 29908 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| 29909 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 29910 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 29911 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| 29912 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| 29913 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| 29914 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 29915 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 29916 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 29917 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 29918 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 29919 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 29920 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 29921 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 29922 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 29923 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| 29924 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| 29925 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| 29926 | .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ }, |
| 29927 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 29928 | .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ }, |
| 29929 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 29930 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| 29931 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 29932 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29933 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 29934 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 29935 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 29936 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 29937 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 29938 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| 29939 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 29940 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| 29941 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 29942 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 29943 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 29944 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| 29945 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29946 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29947 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 29948 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 29949 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 29950 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 29951 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 29952 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 29953 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 29954 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 29955 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| 29956 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 29957 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 29958 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 29959 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 29960 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| 29961 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ }, |
| 29962 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 29963 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| 29964 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| 29965 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 29966 | .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ }, |
| 29967 | .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 29968 | .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 29969 | .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ }, |
| 29970 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ }, |
| 29971 | .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ }, |
| 29972 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 29973 | .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ }, |
| 29974 | .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ }, |
| 29975 | .{ ._, ._, .not, .tmp9q, ._, ._, ._ }, |
| 29976 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| 29977 | .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ }, |
| 29978 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 29979 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ }, |
| 29980 | } }, |
| 29981 | }, .{ |
| 29982 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| 29983 | .src_constraints = .{ |
| 29984 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 65 } }, |
| 29985 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 65 } }, |
| 29986 | .any, |
| 29987 | }, |
| 29988 | .patterns = &.{ |
| 29989 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 29990 | }, |
| 29991 | .extra_temps = .{ |
| 29992 | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 29993 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29994 | .{ .type = .usize, .kind = .{ .reg = .rcx } }, |
| 29995 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29996 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29997 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 29998 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 29999 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 30000 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30001 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 30002 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 30003 | }, |
| 30004 | .dst_temps = .{ .mem, .unused }, |
| 30005 | .clobbers = .{ .eflags = true }, |
| 30006 | .each = .{ .once = &.{ |
| 30007 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 30008 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 30009 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 30010 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 30011 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 30012 | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| 30013 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| 30014 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 30015 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 30016 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 30017 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| 30018 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| 30019 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 30020 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| 30021 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 30022 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ }, |
| 30023 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| 30024 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| 30025 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 30026 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| 30027 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| 30028 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| 30029 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| 30030 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ }, |
| 30031 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 30032 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 30033 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| 30034 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| 30035 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 30036 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 30037 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| 30038 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| 30039 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| 30040 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 30041 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 30042 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 30043 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 30044 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 30045 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 30046 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 30047 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 30048 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 30049 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| 30050 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| 30051 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| 30052 | .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ }, |
| 30053 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 30054 | .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ }, |
| 30055 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 30056 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| 30057 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 30058 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 30059 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 30060 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 30061 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 30062 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 30063 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 30064 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| 30065 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 30066 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| 30067 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 30068 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 30069 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 30070 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| 30071 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 30072 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 30073 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 30074 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 30075 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 30076 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 30077 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 30078 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 30079 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 30080 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 30081 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| 30082 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 30083 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 30084 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 30085 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 30086 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| 30087 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ }, |
| 30088 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 30089 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| 30090 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| 30091 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 30092 | .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ }, |
| 30093 | .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 30094 | .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 30095 | .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ }, |
| 30096 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ }, |
| 30097 | .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ }, |
| 30098 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 30099 | .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ }, |
| 30100 | .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ }, |
| 30101 | .{ ._, ._, .not, .tmp9q, ._, ._, ._ }, |
| 30102 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| 30103 | .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ }, |
| 30104 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 30105 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ }, |
| 30106 | } }, |
| 30107 | }, .{ |
| 30108 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 30109 | .src_constraints = .{ |
| 30110 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 65 } }, |
| 30111 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 65 } }, |
| 30112 | .any, |
| 30113 | }, |
| 30114 | .patterns = &.{ |
| 30115 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 30116 | }, |
| 30117 | .extra_temps = .{ |
| 30118 | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 30119 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30120 | .{ .type = .usize, .kind = .{ .reg = .rcx } }, |
| 30121 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30122 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30123 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 30124 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30125 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 30126 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30127 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 30128 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 30129 | }, |
| 30130 | .dst_temps = .{ .mem, .unused }, |
| 30131 | .clobbers = .{ .eflags = true }, |
| 30132 | .each = .{ .once = &.{ |
| 30133 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 30134 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 30135 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 30136 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 30137 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 30138 | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| 30139 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| 30140 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 30141 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 30142 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 30143 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| 30144 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| 30145 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 30146 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| 30147 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 30148 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ }, |
| 30149 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| 30150 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| 30151 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 30152 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| 30153 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| 30154 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| 30155 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| 30156 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ }, |
| 30157 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 30158 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 30159 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| 30160 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| 30161 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 30162 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 30163 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| 30164 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| 30165 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| 30166 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 30167 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 30168 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 30169 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 30170 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 30171 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 30172 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 30173 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 30174 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 30175 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| 30176 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| 30177 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| 30178 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 30179 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 30180 | .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ }, |
| 30181 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 30182 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| 30183 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 30184 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 30185 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 30186 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 30187 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 30188 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 30189 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 30190 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| 30191 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 30192 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| 30193 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 30194 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 30195 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 30196 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| 30197 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 30198 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 30199 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 30200 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 30201 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 30202 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 30203 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 30204 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 30205 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 30206 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 30207 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| 30208 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 30209 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 30210 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 30211 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 30212 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| 30213 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ }, |
| 30214 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 30215 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| 30216 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| 30217 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 30218 | .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ }, |
| 30219 | .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 30220 | .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 30221 | .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ }, |
| 30222 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ }, |
| 30223 | .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ }, |
| 30224 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 30225 | .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ }, |
| 30226 | .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ }, |
| 30227 | .{ ._, ._, .not, .tmp9q, ._, ._, ._ }, |
| 30228 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| 30229 | .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ }, |
| 30230 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 30231 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ }, |
| 30232 | } }, |
| 30233 | }, .{ |
| 30234 | .required_features = .{ .@"64bit", null, null, null }, |
| 30235 | .src_constraints = .{ |
| 30236 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 65 } }, |
| 30237 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 65 } }, |
| 30238 | .any, |
| 30239 | }, |
| 30240 | .patterns = &.{ |
| 30241 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 30242 | }, |
| 30243 | .extra_temps = .{ |
| 30244 | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 30245 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30246 | .{ .type = .usize, .kind = .{ .reg = .rcx } }, |
| 30247 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30248 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30249 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 30250 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30251 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 30252 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30253 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 30254 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 30255 | }, |
| 30256 | .dst_temps = .{ .mem, .unused }, |
| 30257 | .clobbers = .{ .eflags = true }, |
| 30258 | .each = .{ .once = &.{ |
| 30259 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 30260 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 30261 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 30262 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 30263 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 30264 | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| 30265 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| 30266 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 30267 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 30268 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 30269 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| 30270 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| 30271 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 30272 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| 30273 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 30274 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ }, |
| 30275 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| 30276 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| 30277 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 30278 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| 30279 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| 30280 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| 30281 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| 30282 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ }, |
| 30283 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 30284 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 30285 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| 30286 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| 30287 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 30288 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 30289 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| 30290 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| 30291 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| 30292 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 30293 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 30294 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 30295 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 30296 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 30297 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 30298 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 30299 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 30300 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 30301 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| 30302 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| 30303 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| 30304 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 30305 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 30306 | .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ }, |
| 30307 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 30308 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| 30309 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 30310 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 30311 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 30312 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 30313 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 30314 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 30315 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 30316 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| 30317 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 30318 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| 30319 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 30320 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 30321 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 30322 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| 30323 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 30324 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 30325 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 30326 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 30327 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 30328 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 30329 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 30330 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 30331 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 30332 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 30333 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| 30334 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 30335 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 30336 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 30337 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 30338 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| 30339 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ }, |
| 30340 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 30341 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| 30342 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| 30343 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 30344 | .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ }, |
| 30345 | .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 30346 | .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 30347 | .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ }, |
| 30348 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ }, |
| 30349 | .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ }, |
| 30350 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 30351 | .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ }, |
| 30352 | .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ }, |
| 30353 | .{ ._, ._, .not, .tmp9q, ._, ._, ._ }, |
| 30354 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| 30355 | .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ }, |
| 30356 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 30357 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp1q, ._, ._ }, |
| 30358 | } }, |
| 30359 | }, .{ |
| 30360 | .required_features = .{ .@"64bit", .cmov, .slow_incdec, null }, |
| 30361 | .src_constraints = .{ |
| 30362 | .{ .remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 30363 | .{ .remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 30364 | .any, |
| 30365 | }, |
| 30366 | .patterns = &.{ |
| 30367 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 30368 | }, |
| 30369 | .extra_temps = .{ |
| 30370 | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 30371 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30372 | .{ .type = .usize, .kind = .{ .reg = .rcx } }, |
| 30373 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30374 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30375 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 30376 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30377 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 30378 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30379 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 30380 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 30381 | }, |
| 30382 | .dst_temps = .{ .mem, .unused }, |
| 30383 | .clobbers = .{ .eflags = true }, |
| 30384 | .each = .{ .once = &.{ |
| 30385 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 30386 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 30387 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 30388 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 30389 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 30390 | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| 30391 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| 30392 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 30393 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 30394 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 30395 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| 30396 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| 30397 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 30398 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| 30399 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 30400 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ }, |
| 30401 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| 30402 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| 30403 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 30404 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| 30405 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| 30406 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| 30407 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| 30408 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ }, |
| 30409 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 30410 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 30411 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| 30412 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| 30413 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 30414 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 30415 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| 30416 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| 30417 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| 30418 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 30419 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 30420 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 30421 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 30422 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 30423 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 30424 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 30425 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 30426 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 30427 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| 30428 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| 30429 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| 30430 | .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ }, |
| 30431 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 30432 | .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ }, |
| 30433 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 30434 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| 30435 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 30436 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 30437 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 30438 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 30439 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 30440 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 30441 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 30442 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| 30443 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 30444 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| 30445 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 30446 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 30447 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 30448 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| 30449 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 30450 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 30451 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 30452 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 30453 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 30454 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 30455 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 30456 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 30457 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 30458 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 30459 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| 30460 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 30461 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 30462 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 30463 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 30464 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| 30465 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ }, |
| 30466 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 30467 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| 30468 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| 30469 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 30470 | .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ }, |
| 30471 | .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 30472 | .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 30473 | .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ }, |
| 30474 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ }, |
| 30475 | .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ }, |
| 30476 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 30477 | .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ }, |
| 30478 | .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ }, |
| 30479 | .{ ._, ._, .not, .tmp9q, ._, ._, ._ }, |
| 30480 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| 30481 | .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ }, |
| 30482 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 30483 | .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .uia(65, .dst0, .sub_bit_size_rem_64), ._ }, |
| 30484 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp9q, ._, ._ }, |
| 30485 | } }, |
| 30486 | }, .{ |
| 30487 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| 30488 | .src_constraints = .{ |
| 30489 | .{ .remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 30490 | .{ .remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 30491 | .any, |
| 30492 | }, |
| 30493 | .patterns = &.{ |
| 30494 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 30495 | }, |
| 30496 | .extra_temps = .{ |
| 30497 | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 30498 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30499 | .{ .type = .usize, .kind = .{ .reg = .rcx } }, |
| 30500 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30501 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30502 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 30503 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30504 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 30505 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30506 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 30507 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 30508 | }, |
| 30509 | .dst_temps = .{ .mem, .unused }, |
| 30510 | .clobbers = .{ .eflags = true }, |
| 30511 | .each = .{ .once = &.{ |
| 30512 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 30513 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 30514 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 30515 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 30516 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 30517 | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| 30518 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| 30519 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 30520 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 30521 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 30522 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| 30523 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| 30524 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 30525 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| 30526 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 30527 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ }, |
| 30528 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| 30529 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| 30530 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 30531 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| 30532 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| 30533 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| 30534 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| 30535 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ }, |
| 30536 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 30537 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 30538 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| 30539 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| 30540 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 30541 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 30542 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| 30543 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| 30544 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| 30545 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 30546 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 30547 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 30548 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 30549 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 30550 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 30551 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 30552 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 30553 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 30554 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| 30555 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| 30556 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| 30557 | .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ }, |
| 30558 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 30559 | .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ }, |
| 30560 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 30561 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| 30562 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 30563 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 30564 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 30565 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 30566 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 30567 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 30568 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 30569 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| 30570 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 30571 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| 30572 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 30573 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 30574 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 30575 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| 30576 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 30577 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 30578 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 30579 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 30580 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 30581 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 30582 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 30583 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 30584 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 30585 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 30586 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| 30587 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 30588 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 30589 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 30590 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 30591 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| 30592 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ }, |
| 30593 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 30594 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| 30595 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| 30596 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 30597 | .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ }, |
| 30598 | .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 30599 | .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 30600 | .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ }, |
| 30601 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ }, |
| 30602 | .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ }, |
| 30603 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 30604 | .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ }, |
| 30605 | .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ }, |
| 30606 | .{ ._, ._, .not, .tmp9q, ._, ._, ._ }, |
| 30607 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| 30608 | .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ }, |
| 30609 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 30610 | .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .uia(65, .dst0, .sub_bit_size_rem_64), ._ }, |
| 30611 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp9q, ._, ._ }, |
| 30612 | } }, |
| 30613 | }, .{ |
| 30614 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 30615 | .src_constraints = .{ |
| 30616 | .{ .remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 30617 | .{ .remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 30618 | .any, |
| 30619 | }, |
| 30620 | .patterns = &.{ |
| 30621 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 30622 | }, |
| 30623 | .extra_temps = .{ |
| 30624 | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 30625 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30626 | .{ .type = .usize, .kind = .{ .reg = .rcx } }, |
| 30627 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30628 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30629 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 30630 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30631 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 30632 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30633 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 30634 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 30635 | }, |
| 30636 | .dst_temps = .{ .mem, .unused }, |
| 30637 | .clobbers = .{ .eflags = true }, |
| 30638 | .each = .{ .once = &.{ |
| 30639 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 30640 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 30641 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 30642 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 30643 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 30644 | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| 30645 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| 30646 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 30647 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 30648 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 30649 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| 30650 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| 30651 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 30652 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| 30653 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 30654 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ }, |
| 30655 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| 30656 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| 30657 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 30658 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| 30659 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| 30660 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| 30661 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| 30662 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ }, |
| 30663 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 30664 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 30665 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| 30666 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| 30667 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 30668 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 30669 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| 30670 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| 30671 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| 30672 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 30673 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 30674 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 30675 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 30676 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 30677 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 30678 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 30679 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 30680 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 30681 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| 30682 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| 30683 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| 30684 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 30685 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 30686 | .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ }, |
| 30687 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 30688 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| 30689 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 30690 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 30691 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 30692 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 30693 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 30694 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 30695 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 30696 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| 30697 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 30698 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| 30699 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 30700 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 30701 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 30702 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| 30703 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 30704 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 30705 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 30706 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 30707 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 30708 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 30709 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 30710 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 30711 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 30712 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 30713 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| 30714 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 30715 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 30716 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 30717 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 30718 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| 30719 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ }, |
| 30720 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 30721 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| 30722 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| 30723 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 30724 | .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ }, |
| 30725 | .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 30726 | .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 30727 | .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ }, |
| 30728 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ }, |
| 30729 | .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ }, |
| 30730 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 30731 | .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ }, |
| 30732 | .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ }, |
| 30733 | .{ ._, ._, .not, .tmp9q, ._, ._, ._ }, |
| 30734 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| 30735 | .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ }, |
| 30736 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 30737 | .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .uia(65, .dst0, .sub_bit_size_rem_64), ._ }, |
| 30738 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp9q, ._, ._ }, |
| 30739 | } }, |
| 30740 | }, .{ |
| 30741 | .required_features = .{ .@"64bit", null, null, null }, |
| 30742 | .src_constraints = .{ |
| 30743 | .{ .remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 30744 | .{ .remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 30745 | .any, |
| 30746 | }, |
| 30747 | .patterns = &.{ |
| 30748 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 30749 | }, |
| 30750 | .extra_temps = .{ |
| 30751 | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 30752 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30753 | .{ .type = .usize, .kind = .{ .reg = .rcx } }, |
| 30754 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30755 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30756 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 30757 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30758 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 30759 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30760 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 30761 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 30762 | }, |
| 30763 | .dst_temps = .{ .mem, .unused }, |
| 30764 | .clobbers = .{ .eflags = true }, |
| 30765 | .each = .{ .once = &.{ |
| 30766 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 30767 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 30768 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 30769 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 30770 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 30771 | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| 30772 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| 30773 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 30774 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 30775 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 30776 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| 30777 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| 30778 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 30779 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| 30780 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 30781 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_size), ._, ._ }, |
| 30782 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| 30783 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| 30784 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 30785 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| 30786 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| 30787 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| 30788 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| 30789 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_size), .tmp9q, ._, ._ }, |
| 30790 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 30791 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 30792 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| 30793 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| 30794 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 30795 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 30796 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| 30797 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| 30798 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| 30799 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 30800 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 30801 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 30802 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 30803 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 30804 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 30805 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 30806 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 30807 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 30808 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| 30809 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| 30810 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| 30811 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 30812 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 30813 | .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ }, |
| 30814 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 30815 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| 30816 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 30817 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 30818 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 30819 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 30820 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 30821 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 30822 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 30823 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| 30824 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 30825 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| 30826 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 30827 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 30828 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 30829 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| 30830 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 30831 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 30832 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 30833 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 30834 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 30835 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_size, -8), .tmp8q, ._, ._ }, |
| 30836 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 30837 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 30838 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 30839 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 30840 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| 30841 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 30842 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 30843 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 30844 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 30845 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| 30846 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp8q, ._, ._ }, |
| 30847 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 30848 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| 30849 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| 30850 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 30851 | .{ ._, ._, .mov, .tmp2q, .tmp0q, ._, ._ }, |
| 30852 | .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 30853 | .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| 30854 | .{ ._, ._, .xor, .tmp2q, .tmp0q, ._, ._ }, |
| 30855 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp0q, ._, ._ }, |
| 30856 | .{ ._, ._, .@"or", .tmp4q, .tmp2q, ._, ._ }, |
| 30857 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 30858 | .{ ._, ._, .xor, .tmp1q, .tmp3q, ._, ._ }, |
| 30859 | .{ ._, ._, .mov, .tmp9q, .tmp1q, ._, ._ }, |
| 30860 | .{ ._, ._, .not, .tmp9q, ._, ._, ._ }, |
| 30861 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| 30862 | .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ }, |
| 30863 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 30864 | .{ ._, ._rd, .sh, .tmp9q, .tmp1q, .uia(65, .dst0, .sub_bit_size_rem_64), ._ }, |
| 30865 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp9q, ._, ._ }, |
| 30866 | } }, |
| 30867 | }, .{ |
| 30868 | .required_features = .{ .@"64bit", .bmi2, .adx, null }, |
| 30869 | .src_constraints = .{ |
| 30870 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } }, |
| 30871 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } }, |
| 30872 | .any, |
| 30873 | }, |
| 30874 | .patterns = &.{ |
| 30875 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 30876 | }, |
| 30877 | .extra_temps = .{ |
| 30878 | .{ .type = .isize, .kind = .{ .reg = .rax } }, |
| 30879 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, |
| 30880 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30881 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30882 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 30883 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| 30884 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30885 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30886 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30887 | .unused, |
| 30888 | .unused, |
| 30889 | }, |
| 30890 | .dst_temps = .{ .mem, .unused }, |
| 30891 | .clobbers = .{ .eflags = true }, |
| 30892 | .each = .{ .once = &.{ |
| 30893 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ }, |
| 30894 | .{ ._, ._, .lea, .tmp1p, .mem(.src1), ._, ._ }, |
| 30895 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| 30896 | .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ }, |
| 30897 | .{ .@"0:", ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 30898 | .{ ._, ._, .@"or", .tmp4q, .memi(.src0q, .tmp0), ._, ._ }, |
| 30899 | .{ ._, ._z, .j, .@"2f", ._, ._, ._ }, |
| 30900 | .{ ._, ._, .lea, .tmp5p, .leaad(.tmp0, .sub_src0_size, 8), ._, ._ }, |
| 30901 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 30902 | .{ .@"1:", ._x, .mul, .tmp8q, .tmp7q, .leai(.tmp1q, .tmp5), ._ }, |
| 30903 | .{ ._, ._x, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| 30904 | .{ ._, ._, .mov, .memiad(.dst0q, .tmp5, .add_size, -8), .tmp7q, ._, ._ }, |
| 30905 | .{ ._, ._rcxz, .j, .@"1f", ._, ._, ._ }, |
| 30906 | .{ ._, ._x, .ado, .tmp8q, .memia(.dst0q, .tmp5, .add_size), ._, ._ }, |
| 30907 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| 30908 | .{ ._, ._, .lea, .tmp5p, .lead(.tmp5, 8), ._, ._ }, |
| 30909 | .{ ._, ._mp, .j, .@"1b", ._, ._, ._ }, |
| 30910 | .{ .@"2:", ._, .mov, .memi(.dst0q, .tmp0), .tmp4q, ._, ._ }, |
| 30911 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 30912 | .{ .@"1:", ._, .mov, .tmp4d, .tmp0d, ._, ._ }, |
| 30913 | .{ ._, ._x, .ado, .tmp8q, .tmp3q, ._, ._ }, |
| 30914 | .{ ._, ._x, .adc, .tmp8q, .tmp3q, ._, ._ }, |
| 30915 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 30916 | .{ .@"1:", ._, .@"or", .tmp8q, .leaid(.tmp1q, .tmp4, 8), ._, ._ }, |
| 30917 | .{ .@"2:", ._, .sub, .tmp4d, .si(8), ._, ._ }, |
| 30918 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, |
| 30919 | .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ }, |
| 30920 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 30921 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 30922 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 30923 | .{ ._, ._, .@"test", .tmp2q, .tmp2q, ._, ._ }, |
| 30924 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 30925 | .{ ._, ._, .mov, .tmp0q, .si(-1), ._, ._ }, |
| 30926 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, |
| 30927 | .{ ._, ._, .mov, .tmp5d, .sa(.dst0, .add_size_div_8), ._, ._ }, |
| 30928 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 30929 | } }, |
| 30930 | }, .{ |
| 30931 | .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null }, |
| 30932 | .src_constraints = .{ |
| 30933 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } }, |
| 30934 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } }, |
| 30935 | .any, |
| 30936 | }, |
| 30937 | .patterns = &.{ |
| 30938 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 30939 | }, |
| 30940 | .extra_temps = .{ |
| 30941 | .{ .type = .isize, .kind = .{ .reg = .rax } }, |
| 30942 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, |
| 30943 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, |
| 30944 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 30945 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 30946 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 30947 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30948 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30949 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 30950 | .unused, |
| 30951 | .unused, |
| 30952 | }, |
| 30953 | .dst_temps = .{ .mem, .unused }, |
| 30954 | .clobbers = .{ .eflags = true }, |
| 30955 | .each = .{ .once = &.{ |
| 30956 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 30957 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| 30958 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| 30959 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 30960 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 30961 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| 30962 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 30963 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 30964 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 30965 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| 30966 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 30967 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ }, |
| 30968 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| 30969 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| 30970 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| 30971 | .{ .@"2:", ._x, .mul, .tmp8q, .tmp7q, .leasi(.tmp1q, .@"8", .tmp3), ._ }, |
| 30972 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| 30973 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ }, |
| 30974 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| 30975 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 30976 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| 30977 | .{ ._, ._, .adc, .tmp5d, .tmp5d, ._, ._ }, |
| 30978 | .{ ._, ._, .@"or", .tmp5q, .tmp8q, ._, ._ }, |
| 30979 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 30980 | .{ .@"1:", ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| 30981 | .{ .@"2:", ._, .sub, .tmp3d, .si(1), ._, ._ }, |
| 30982 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, |
| 30983 | .{ ._, ._, .@"or", .tmp2q, .tmp5q, ._, ._ }, |
| 30984 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 30985 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 30986 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 30987 | .{ ._, ._, .@"test", .tmp2q, .tmp2q, ._, ._ }, |
| 30988 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 30989 | .{ ._, ._, .mov, .tmp0q, .si(-1), ._, ._ }, |
| 30990 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, |
| 30991 | .{ ._, ._, .mov, .tmp2d, .sa(.dst0, .add_size_div_8), ._, ._ }, |
| 30992 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 30993 | } }, |
| 30994 | }, .{ |
| 30995 | .required_features = .{ .@"64bit", .bmi2, null, null }, |
| 30996 | .src_constraints = .{ |
| 30997 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } }, |
| 30998 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } }, |
| 30999 | .any, |
| 31000 | }, |
| 31001 | .patterns = &.{ |
| 31002 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 31003 | }, |
| 31004 | .extra_temps = .{ |
| 31005 | .{ .type = .isize, .kind = .{ .reg = .rax } }, |
| 31006 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, |
| 31007 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, |
| 31008 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 31009 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 31010 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 31011 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31012 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31013 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31014 | .unused, |
| 31015 | .unused, |
| 31016 | }, |
| 31017 | .dst_temps = .{ .mem, .unused }, |
| 31018 | .clobbers = .{ .eflags = true }, |
| 31019 | .each = .{ .once = &.{ |
| 31020 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 31021 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| 31022 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| 31023 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 31024 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 31025 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| 31026 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 31027 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 31028 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 31029 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| 31030 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 31031 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ }, |
| 31032 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| 31033 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| 31034 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| 31035 | .{ .@"2:", ._x, .mul, .tmp8q, .tmp7q, .leasi(.tmp1q, .@"8", .tmp3), ._ }, |
| 31036 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| 31037 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ }, |
| 31038 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| 31039 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 31040 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| 31041 | .{ ._, ._, .adc, .tmp5d, .tmp5d, ._, ._ }, |
| 31042 | .{ ._, ._, .@"or", .tmp5q, .tmp8q, ._, ._ }, |
| 31043 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 31044 | .{ .@"1:", ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| 31045 | .{ .@"2:", ._c, .de, .tmp3d, ._, ._, ._ }, |
| 31046 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 31047 | .{ ._, ._, .@"or", .tmp2q, .tmp5q, ._, ._ }, |
| 31048 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 31049 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 31050 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 31051 | .{ ._, ._, .@"test", .tmp2q, .tmp2q, ._, ._ }, |
| 31052 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 31053 | .{ ._, ._, .mov, .tmp0q, .si(-1), ._, ._ }, |
| 31054 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, |
| 31055 | .{ ._, ._, .mov, .tmp2d, .sa(.dst0, .add_size_div_8), ._, ._ }, |
| 31056 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 31057 | } }, |
| 31058 | }, .{ |
| 31059 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 31060 | .src_constraints = .{ |
| 31061 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } }, |
| 31062 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } }, |
| 31063 | .any, |
| 31064 | }, |
| 31065 | .patterns = &.{ |
| 31066 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 31067 | }, |
| 31068 | .extra_temps = .{ |
| 31069 | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 31070 | .{ .type = .usize, .kind = .{ .reg = .rcx } }, |
| 31071 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31072 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 31073 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31074 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 31075 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31076 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 31077 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 31078 | .unused, |
| 31079 | .unused, |
| 31080 | }, |
| 31081 | .dst_temps = .{ .mem, .unused }, |
| 31082 | .clobbers = .{ .eflags = true }, |
| 31083 | .each = .{ .once = &.{ |
| 31084 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 31085 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| 31086 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| 31087 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 31088 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 31089 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| 31090 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 31091 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 31092 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 31093 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| 31094 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 31095 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ }, |
| 31096 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| 31097 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| 31098 | .{ .@"2:", ._, .mov, .tmp7q, .tmp4q, ._, ._ }, |
| 31099 | .{ ._, ._, .mul, .leasi(.tmp1q, .@"8", .tmp3), ._, ._, ._ }, |
| 31100 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| 31101 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| 31102 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ }, |
| 31103 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| 31104 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 31105 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| 31106 | .{ ._, ._, .adc, .tmp8q, .si(0), ._, ._ }, |
| 31107 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 31108 | .{ .@"1:", ._, .@"or", .tmp8q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| 31109 | .{ .@"2:", ._, .sub, .tmp3d, .si(1), ._, ._ }, |
| 31110 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, |
| 31111 | .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ }, |
| 31112 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 31113 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 31114 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 31115 | .{ ._, ._, .@"test", .tmp2q, .tmp2q, ._, ._ }, |
| 31116 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 31117 | .{ ._, ._, .mov, .tmp7q, .si(-1), ._, ._ }, |
| 31118 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| 31119 | .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_size_div_8), ._, ._ }, |
| 31120 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 31121 | } }, |
| 31122 | }, .{ |
| 31123 | .required_features = .{ .@"64bit", null, null, null }, |
| 31124 | .src_constraints = .{ |
| 31125 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } }, |
| 31126 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } }, |
| 31127 | .any, |
| 31128 | }, |
| 31129 | .patterns = &.{ |
| 31130 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 31131 | }, |
| 31132 | .extra_temps = .{ |
| 31133 | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 31134 | .{ .type = .usize, .kind = .{ .reg = .rcx } }, |
| 31135 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31136 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 31137 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31138 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 31139 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31140 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 31141 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 31142 | .unused, |
| 31143 | .unused, |
| 31144 | }, |
| 31145 | .dst_temps = .{ .mem, .unused }, |
| 31146 | .clobbers = .{ .eflags = true }, |
| 31147 | .each = .{ .once = &.{ |
| 31148 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 31149 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| 31150 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| 31151 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 31152 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 31153 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| 31154 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 31155 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 31156 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 31157 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| 31158 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 31159 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ }, |
| 31160 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| 31161 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| 31162 | .{ .@"2:", ._, .mov, .tmp7q, .tmp4q, ._, ._ }, |
| 31163 | .{ ._, ._, .mul, .leasi(.tmp1q, .@"8", .tmp3), ._, ._, ._ }, |
| 31164 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| 31165 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| 31166 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ }, |
| 31167 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| 31168 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 31169 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| 31170 | .{ ._, ._, .adc, .tmp8q, .si(0), ._, ._ }, |
| 31171 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 31172 | .{ .@"1:", ._, .@"or", .tmp8q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| 31173 | .{ .@"2:", ._c, .de, .tmp3d, ._, ._, ._ }, |
| 31174 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 31175 | .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ }, |
| 31176 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 31177 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 31178 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 31179 | .{ ._, ._, .@"test", .tmp2q, .tmp2q, ._, ._ }, |
| 31180 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 31181 | .{ ._, ._, .mov, .tmp7q, .si(-1), ._, ._ }, |
| 31182 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| 31183 | .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_size_div_8), ._, ._ }, |
| 31184 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 31185 | } }, |
| 31186 | }, .{ |
| 31187 | .required_features = .{ .@"64bit", .bmi2, .adx, null }, |
| 31188 | .src_constraints = .{ |
| 31189 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 31190 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 31191 | .any, |
| 31192 | }, |
| 31193 | .patterns = &.{ |
| 31194 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 31195 | }, |
| 31196 | .extra_temps = .{ |
| 31197 | .{ .type = .isize, .kind = .{ .reg = .rax } }, |
| 31198 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, |
| 31199 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31200 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31201 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 31202 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| 31203 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31204 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31205 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31206 | .unused, |
| 31207 | .unused, |
| 31208 | }, |
| 31209 | .dst_temps = .{ .mem, .unused }, |
| 31210 | .clobbers = .{ .eflags = true }, |
| 31211 | .each = .{ .once = &.{ |
| 31212 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ }, |
| 31213 | .{ ._, ._, .lea, .tmp1p, .mem(.src1), ._, ._ }, |
| 31214 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| 31215 | .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ }, |
| 31216 | .{ .@"0:", ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 31217 | .{ ._, ._, .@"or", .tmp4q, .memi(.src0q, .tmp0), ._, ._ }, |
| 31218 | .{ ._, ._z, .j, .@"2f", ._, ._, ._ }, |
| 31219 | .{ ._, ._, .lea, .tmp5p, .leaad(.tmp0, .sub_src0_size, 8), ._, ._ }, |
| 31220 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 31221 | .{ .@"1:", ._x, .mul, .tmp8q, .tmp7q, .leai(.tmp1q, .tmp5), ._ }, |
| 31222 | .{ ._, ._x, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| 31223 | .{ ._, ._, .mov, .memiad(.dst0q, .tmp5, .add_size, -8), .tmp7q, ._, ._ }, |
| 31224 | .{ ._, ._rcxz, .j, .@"1f", ._, ._, ._ }, |
| 31225 | .{ ._, ._x, .ado, .tmp8q, .memia(.dst0q, .tmp5, .add_size), ._, ._ }, |
| 31226 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| 31227 | .{ ._, ._, .lea, .tmp5p, .lead(.tmp5, 8), ._, ._ }, |
| 31228 | .{ ._, ._mp, .j, .@"1b", ._, ._, ._ }, |
| 31229 | .{ .@"2:", ._, .mov, .memi(.dst0q, .tmp0), .tmp4q, ._, ._ }, |
| 31230 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 31231 | .{ .@"1:", ._, .mov, .tmp4d, .tmp0d, ._, ._ }, |
| 31232 | .{ ._, ._x, .ado, .tmp8q, .tmp3q, ._, ._ }, |
| 31233 | .{ ._, ._x, .adc, .tmp8q, .tmp3q, ._, ._ }, |
| 31234 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 31235 | .{ .@"1:", ._, .@"or", .tmp8q, .leai(.tmp1q, .tmp4), ._, ._ }, |
| 31236 | .{ .@"2:", ._, .sub, .tmp4d, .si(8), ._, ._ }, |
| 31237 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, |
| 31238 | .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ }, |
| 31239 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 31240 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 31241 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 31242 | .{ ._, ._, .@"or", .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 31243 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 31244 | .{ ._, ._, .mov, .tmp0q, .si(-1), ._, ._ }, |
| 31245 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, |
| 31246 | .{ ._, ._, .mov, .tmp5d, .sia(-1, .dst0, .add_size_div_8), ._, ._ }, |
| 31247 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 31248 | .{ .@"0:", ._, .mov, .memad(.dst0q, .add_size, -8), .ui(0), ._, ._ }, |
| 31249 | } }, |
| 31250 | }, .{ |
| 31251 | .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null }, |
| 31252 | .src_constraints = .{ |
| 31253 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 31254 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 31255 | .any, |
| 31256 | }, |
| 31257 | .patterns = &.{ |
| 31258 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 31259 | }, |
| 31260 | .extra_temps = .{ |
| 31261 | .{ .type = .isize, .kind = .{ .reg = .rax } }, |
| 31262 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, |
| 31263 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, |
| 31264 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 31265 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 31266 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 31267 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31268 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31269 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31270 | .unused, |
| 31271 | .unused, |
| 31272 | }, |
| 31273 | .dst_temps = .{ .mem, .unused }, |
| 31274 | .clobbers = .{ .eflags = true }, |
| 31275 | .each = .{ .once = &.{ |
| 31276 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 31277 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| 31278 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| 31279 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 31280 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 31281 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| 31282 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 31283 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 31284 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 31285 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| 31286 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 31287 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ }, |
| 31288 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| 31289 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| 31290 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| 31291 | .{ .@"2:", ._x, .mul, .tmp8q, .tmp7q, .leasi(.tmp1q, .@"8", .tmp3), ._ }, |
| 31292 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| 31293 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ }, |
| 31294 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| 31295 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 31296 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| 31297 | .{ ._, ._, .adc, .tmp5d, .tmp5d, ._, ._ }, |
| 31298 | .{ ._, ._, .@"or", .tmp5q, .tmp8q, ._, ._ }, |
| 31299 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 31300 | .{ .@"1:", ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| 31301 | .{ .@"2:", ._, .sub, .tmp3d, .si(1), ._, ._ }, |
| 31302 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, |
| 31303 | .{ ._, ._, .@"or", .tmp2q, .tmp5q, ._, ._ }, |
| 31304 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 31305 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 31306 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 31307 | .{ ._, ._, .@"or", .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 31308 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 31309 | .{ ._, ._, .mov, .tmp0q, .si(-1), ._, ._ }, |
| 31310 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, |
| 31311 | .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ }, |
| 31312 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 31313 | .{ .@"0:", ._, .mov, .memad(.dst0q, .add_size, -8), .ui(0), ._, ._ }, |
| 31314 | } }, |
| 31315 | }, .{ |
| 31316 | .required_features = .{ .@"64bit", .bmi2, null, null }, |
| 31317 | .src_constraints = .{ |
| 31318 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 31319 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 31320 | .any, |
| 31321 | }, |
| 31322 | .patterns = &.{ |
| 31323 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 31324 | }, |
| 31325 | .extra_temps = .{ |
| 31326 | .{ .type = .isize, .kind = .{ .reg = .rax } }, |
| 31327 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, |
| 31328 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, |
| 31329 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 31330 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 31331 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 31332 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31333 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31334 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31335 | .unused, |
| 31336 | .unused, |
| 31337 | }, |
| 31338 | .dst_temps = .{ .mem, .unused }, |
| 31339 | .clobbers = .{ .eflags = true }, |
| 31340 | .each = .{ .once = &.{ |
| 31341 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 31342 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| 31343 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| 31344 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 31345 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 31346 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| 31347 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 31348 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 31349 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 31350 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| 31351 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 31352 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ }, |
| 31353 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| 31354 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| 31355 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| 31356 | .{ .@"2:", ._x, .mul, .tmp8q, .tmp7q, .leasi(.tmp1q, .@"8", .tmp3), ._ }, |
| 31357 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| 31358 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ }, |
| 31359 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| 31360 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 31361 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| 31362 | .{ ._, ._, .adc, .tmp5d, .tmp5d, ._, ._ }, |
| 31363 | .{ ._, ._, .@"or", .tmp5q, .tmp8q, ._, ._ }, |
| 31364 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 31365 | .{ .@"1:", ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| 31366 | .{ .@"2:", ._c, .de, .tmp3d, ._, ._, ._ }, |
| 31367 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 31368 | .{ ._, ._, .@"or", .tmp2q, .tmp5q, ._, ._ }, |
| 31369 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 31370 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 31371 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 31372 | .{ ._, ._, .@"or", .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 31373 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 31374 | .{ ._, ._, .mov, .tmp0q, .si(-1), ._, ._ }, |
| 31375 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, |
| 31376 | .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ }, |
| 31377 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 31378 | .{ .@"0:", ._, .mov, .memad(.dst0q, .add_size, -8), .ui(0), ._, ._ }, |
| 31379 | } }, |
| 31380 | }, .{ |
| 31381 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 31382 | .src_constraints = .{ |
| 31383 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 31384 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 31385 | .any, |
| 31386 | }, |
| 31387 | .patterns = &.{ |
| 31388 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 31389 | }, |
| 31390 | .extra_temps = .{ |
| 31391 | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 31392 | .{ .type = .usize, .kind = .{ .reg = .rcx } }, |
| 31393 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31394 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 31395 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31396 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 31397 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31398 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 31399 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 31400 | .unused, |
| 31401 | .unused, |
| 31402 | }, |
| 31403 | .dst_temps = .{ .mem, .unused }, |
| 31404 | .clobbers = .{ .eflags = true }, |
| 31405 | .each = .{ .once = &.{ |
| 31406 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 31407 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| 31408 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| 31409 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 31410 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 31411 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| 31412 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 31413 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 31414 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 31415 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| 31416 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 31417 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ }, |
| 31418 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| 31419 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| 31420 | .{ .@"2:", ._, .mov, .tmp7q, .tmp4q, ._, ._ }, |
| 31421 | .{ ._, ._, .mul, .leasi(.tmp1q, .@"8", .tmp3), ._, ._, ._ }, |
| 31422 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| 31423 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| 31424 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ }, |
| 31425 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| 31426 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 31427 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| 31428 | .{ ._, ._, .adc, .tmp8q, .si(0), ._, ._ }, |
| 31429 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 31430 | .{ .@"1:", ._, .@"or", .tmp8q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| 31431 | .{ .@"2:", ._, .sub, .tmp3d, .si(1), ._, ._ }, |
| 31432 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, |
| 31433 | .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ }, |
| 31434 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 31435 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 31436 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 31437 | .{ ._, ._, .@"or", .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 31438 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 31439 | .{ ._, ._, .mov, .tmp7q, .si(-1), ._, ._ }, |
| 31440 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| 31441 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .dst0, .add_size_div_8), ._, ._ }, |
| 31442 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 31443 | .{ .@"0:", ._, .mov, .memad(.dst0q, .add_size, -8), .ui(0), ._, ._ }, |
| 31444 | } }, |
| 31445 | }, .{ |
| 31446 | .required_features = .{ .@"64bit", null, null, null }, |
| 31447 | .src_constraints = .{ |
| 31448 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 31449 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 31450 | .any, |
| 31451 | }, |
| 31452 | .patterns = &.{ |
| 31453 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 31454 | }, |
| 31455 | .extra_temps = .{ |
| 31456 | .{ .type = .isize, .kind = .{ .reg = .rdi } }, |
| 31457 | .{ .type = .usize, .kind = .{ .reg = .rcx } }, |
| 31458 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31459 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 31460 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31461 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 31462 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31463 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 31464 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 31465 | .unused, |
| 31466 | .unused, |
| 31467 | }, |
| 31468 | .dst_temps = .{ .mem, .unused }, |
| 31469 | .clobbers = .{ .eflags = true }, |
| 31470 | .each = .{ .once = &.{ |
| 31471 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 31472 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| 31473 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| 31474 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 31475 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 31476 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| 31477 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 31478 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 31479 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 31480 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| 31481 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 31482 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ }, |
| 31483 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| 31484 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| 31485 | .{ .@"2:", ._, .mov, .tmp7q, .tmp4q, ._, ._ }, |
| 31486 | .{ ._, ._, .mul, .leasi(.tmp1q, .@"8", .tmp3), ._, ._, ._ }, |
| 31487 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| 31488 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| 31489 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ }, |
| 31490 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| 31491 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 31492 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| 31493 | .{ ._, ._, .adc, .tmp8q, .si(0), ._, ._ }, |
| 31494 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 31495 | .{ .@"1:", ._, .@"or", .tmp8q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| 31496 | .{ .@"2:", ._c, .de, .tmp3d, ._, ._, ._ }, |
| 31497 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 31498 | .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ }, |
| 31499 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 31500 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 31501 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 31502 | .{ ._, ._, .@"or", .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 31503 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 31504 | .{ ._, ._, .mov, .tmp7q, .si(-1), ._, ._ }, |
| 31505 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| 31506 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .dst0, .add_size_div_8), ._, ._ }, |
| 31507 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 31508 | .{ .@"0:", ._, .mov, .memad(.dst0q, .add_size, -8), .ui(0), ._, ._ }, |
| 31509 | } }, |
| 31510 | }, .{ |
| 31511 | .required_features = .{ .@"64bit", .bmi2, .adx, null }, |
| 31512 | .src_constraints = .{ |
| 31513 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 31514 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 31515 | .any, |
| 31516 | }, |
| 31517 | .patterns = &.{ |
| 31518 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 31519 | }, |
| 31520 | .extra_temps = .{ |
| 31521 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 31522 | .{ .type = .usize, .kind = .{ .reg = .rax } }, |
| 31523 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, |
| 31524 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31525 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 31526 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| 31527 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31528 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31529 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31530 | .unused, |
| 31531 | .unused, |
| 31532 | }, |
| 31533 | .dst_temps = .{ .mem, .unused }, |
| 31534 | .clobbers = .{ .eflags = true }, |
| 31535 | .each = .{ .once = &.{ |
| 31536 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ }, |
| 31537 | .{ ._, ._, .lea, .tmp1p, .mem(.src1), ._, ._ }, |
| 31538 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| 31539 | .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ }, |
| 31540 | .{ .@"0:", ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 31541 | .{ ._, ._, .@"or", .tmp4q, .memi(.src0q, .tmp0), ._, ._ }, |
| 31542 | .{ ._, ._z, .j, .@"2f", ._, ._, ._ }, |
| 31543 | .{ ._, ._, .lea, .tmp5p, .leaad(.tmp0, .sub_src0_size, 8), ._, ._ }, |
| 31544 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 31545 | .{ .@"1:", ._x, .mul, .tmp8q, .tmp7q, .leai(.tmp1q, .tmp5), ._ }, |
| 31546 | .{ ._, ._x, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| 31547 | .{ ._, ._, .mov, .memiad(.dst0q, .tmp5, .add_size, -8), .tmp7q, ._, ._ }, |
| 31548 | .{ ._, ._rcxz, .j, .@"1f", ._, ._, ._ }, |
| 31549 | .{ ._, ._x, .ado, .tmp8q, .memia(.dst0q, .tmp5, .add_size), ._, ._ }, |
| 31550 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| 31551 | .{ ._, ._, .lea, .tmp5p, .lead(.tmp5, 8), ._, ._ }, |
| 31552 | .{ ._, ._mp, .j, .@"1b", ._, ._, ._ }, |
| 31553 | .{ .@"2:", ._, .mov, .memi(.dst0q, .tmp0), .tmp4q, ._, ._ }, |
| 31554 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 31555 | .{ .@"1:", ._, .mov, .tmp4d, .tmp0d, ._, ._ }, |
| 31556 | .{ ._, ._x, .ado, .tmp8q, .tmp3q, ._, ._ }, |
| 31557 | .{ ._, ._x, .adc, .tmp8q, .tmp3q, ._, ._ }, |
| 31558 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 31559 | .{ .@"1:", ._, .@"or", .tmp8q, .leai(.tmp1q, .tmp4), ._, ._ }, |
| 31560 | .{ .@"2:", ._, .sub, .tmp4d, .si(8), ._, ._ }, |
| 31561 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, |
| 31562 | .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ }, |
| 31563 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 31564 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 31565 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 31566 | .{ ._, ._, .mov, .tmp0d, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| 31567 | .{ ._, ._, .mov, .tmp1q, .memad(.dst0q, .add_size, -16), ._, ._ }, |
| 31568 | .{ ._, ._, .@"or", .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 31569 | .{ ._, ._, .bzhi, .tmp3q, .tmp1q, .tmp0q, ._ }, |
| 31570 | .{ ._, ._r, .sh, .tmp1q, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| 31571 | .{ ._, ._, .@"or", .tmp2q, .tmp1q, ._, ._ }, |
| 31572 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 31573 | .{ ._, ._, .mov, .tmp1q, .si(-1), ._, ._ }, |
| 31574 | .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ }, |
| 31575 | .{ ._, ._, .mov, .tmp5d, .sia(-2, .dst0, .add_size_div_8), ._, ._ }, |
| 31576 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 31577 | .{ ._, ._, .bzhi, .tmp3q, .tmp1q, .tmp0q, ._ }, |
| 31578 | .{ .@"0:", ._, .mov, .memad(.dst0q, .add_size, -16), .tmp3q, ._, ._ }, |
| 31579 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .ui(0), ._, ._ }, |
| 31580 | } }, |
| 31581 | }, .{ |
| 31582 | .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null }, |
| 31583 | .src_constraints = .{ |
| 31584 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 31585 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 31586 | .any, |
| 31587 | }, |
| 31588 | .patterns = &.{ |
| 31589 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 31590 | }, |
| 31591 | .extra_temps = .{ |
| 31592 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 31593 | .{ .type = .usize, .kind = .{ .reg = .rax } }, |
| 31594 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, |
| 31595 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| 31596 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 31597 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 31598 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31599 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31600 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31601 | .unused, |
| 31602 | .unused, |
| 31603 | }, |
| 31604 | .dst_temps = .{ .mem, .unused }, |
| 31605 | .clobbers = .{ .eflags = true }, |
| 31606 | .each = .{ .once = &.{ |
| 31607 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 31608 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| 31609 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| 31610 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 31611 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 31612 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| 31613 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 31614 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 31615 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 31616 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| 31617 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 31618 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ }, |
| 31619 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| 31620 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| 31621 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| 31622 | .{ .@"2:", ._x, .mul, .tmp8q, .tmp7q, .leasi(.tmp1q, .@"8", .tmp3), ._ }, |
| 31623 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| 31624 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ }, |
| 31625 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| 31626 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 31627 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| 31628 | .{ ._, ._, .adc, .tmp5d, .tmp5d, ._, ._ }, |
| 31629 | .{ ._, ._, .@"or", .tmp5q, .tmp8q, ._, ._ }, |
| 31630 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 31631 | .{ .@"1:", ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| 31632 | .{ .@"2:", ._, .sub, .tmp3d, .si(1), ._, ._ }, |
| 31633 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, |
| 31634 | .{ ._, ._, .@"or", .tmp2q, .tmp5q, ._, ._ }, |
| 31635 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 31636 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 31637 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 31638 | .{ ._, ._, .mov, .tmp0d, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| 31639 | .{ ._, ._, .mov, .tmp1q, .memad(.dst0q, .add_size, -16), ._, ._ }, |
| 31640 | .{ ._, ._, .@"or", .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 31641 | .{ ._, ._, .bzhi, .tmp3q, .tmp1q, .tmp0q, ._ }, |
| 31642 | .{ ._, ._r, .sh, .tmp1q, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| 31643 | .{ ._, ._, .@"or", .tmp2q, .tmp1q, ._, ._ }, |
| 31644 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 31645 | .{ ._, ._, .mov, .tmp1q, .si(-1), ._, ._ }, |
| 31646 | .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ }, |
| 31647 | .{ ._, ._, .mov, .tmp3d, .sia(-2, .dst0, .add_size_div_8), ._, ._ }, |
| 31648 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 31649 | .{ ._, ._, .bzhi, .tmp3q, .tmp1q, .tmp0q, ._ }, |
| 31650 | .{ .@"0:", ._, .mov, .memad(.dst0q, .add_size, -16), .tmp3q, ._, ._ }, |
| 31651 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .ui(0), ._, ._ }, |
| 31652 | } }, |
| 31653 | }, .{ |
| 31654 | .required_features = .{ .@"64bit", .bmi2, null, null }, |
| 31655 | .src_constraints = .{ |
| 31656 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 31657 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 31658 | .any, |
| 31659 | }, |
| 31660 | .patterns = &.{ |
| 31661 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 31662 | }, |
| 31663 | .extra_temps = .{ |
| 31664 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 31665 | .{ .type = .usize, .kind = .{ .reg = .rax } }, |
| 31666 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, |
| 31667 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| 31668 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 31669 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 31670 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31671 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31672 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31673 | .unused, |
| 31674 | .unused, |
| 31675 | }, |
| 31676 | .dst_temps = .{ .mem, .unused }, |
| 31677 | .clobbers = .{ .eflags = true }, |
| 31678 | .each = .{ .once = &.{ |
| 31679 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 31680 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| 31681 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| 31682 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 31683 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 31684 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| 31685 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 31686 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 31687 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 31688 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| 31689 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 31690 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ }, |
| 31691 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| 31692 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| 31693 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| 31694 | .{ .@"2:", ._x, .mul, .tmp8q, .tmp7q, .leasi(.tmp1q, .@"8", .tmp3), ._ }, |
| 31695 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| 31696 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ }, |
| 31697 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| 31698 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 31699 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| 31700 | .{ ._, ._, .adc, .tmp5d, .tmp5d, ._, ._ }, |
| 31701 | .{ ._, ._, .@"or", .tmp5q, .tmp8q, ._, ._ }, |
| 31702 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 31703 | .{ .@"1:", ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| 31704 | .{ .@"2:", ._c, .de, .tmp3d, ._, ._, ._ }, |
| 31705 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 31706 | .{ ._, ._, .@"or", .tmp2q, .tmp5q, ._, ._ }, |
| 31707 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 31708 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 31709 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 31710 | .{ ._, ._, .mov, .tmp0d, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| 31711 | .{ ._, ._, .mov, .tmp1q, .memad(.dst0q, .add_size, -16), ._, ._ }, |
| 31712 | .{ ._, ._, .@"or", .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 31713 | .{ ._, ._, .bzhi, .tmp3q, .tmp1q, .tmp0q, ._ }, |
| 31714 | .{ ._, ._r, .sh, .tmp1q, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| 31715 | .{ ._, ._, .@"or", .tmp2q, .tmp1q, ._, ._ }, |
| 31716 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 31717 | .{ ._, ._, .mov, .tmp1q, .si(-1), ._, ._ }, |
| 31718 | .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ }, |
| 31719 | .{ ._, ._, .mov, .tmp3d, .sia(-2, .dst0, .add_size_div_8), ._, ._ }, |
| 31720 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 31721 | .{ ._, ._, .bzhi, .tmp3q, .tmp1q, .tmp0q, ._ }, |
| 31722 | .{ .@"0:", ._, .mov, .memad(.dst0q, .add_size, -16), .tmp3q, ._, ._ }, |
| 31723 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .ui(0), ._, ._ }, |
| 31724 | } }, |
| 31725 | }, .{ |
| 31726 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 31727 | .src_constraints = .{ |
| 31728 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 31729 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 31730 | .any, |
| 31731 | }, |
| 31732 | .patterns = &.{ |
| 31733 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 31734 | }, |
| 31735 | .extra_temps = .{ |
| 31736 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 31737 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, |
| 31738 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, |
| 31739 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 31740 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31741 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 31742 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31743 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 31744 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 31745 | .unused, |
| 31746 | .unused, |
| 31747 | }, |
| 31748 | .dst_temps = .{ .mem, .unused }, |
| 31749 | .clobbers = .{ .eflags = true }, |
| 31750 | .each = .{ .once = &.{ |
| 31751 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 31752 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| 31753 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| 31754 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 31755 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 31756 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| 31757 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 31758 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 31759 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 31760 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| 31761 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 31762 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ }, |
| 31763 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| 31764 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| 31765 | .{ .@"2:", ._, .mov, .tmp7q, .tmp4q, ._, ._ }, |
| 31766 | .{ ._, ._, .mul, .leasi(.tmp1q, .@"8", .tmp3), ._, ._, ._ }, |
| 31767 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| 31768 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| 31769 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ }, |
| 31770 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| 31771 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 31772 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| 31773 | .{ ._, ._, .adc, .tmp8q, .si(0), ._, ._ }, |
| 31774 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 31775 | .{ .@"1:", ._, .@"or", .tmp8q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| 31776 | .{ .@"2:", ._, .sub, .tmp3d, .si(1), ._, ._ }, |
| 31777 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, |
| 31778 | .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ }, |
| 31779 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 31780 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 31781 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 31782 | .{ ._, ._, .mov, .tmp0q, .ua(.src0, .add_umax), ._, ._ }, |
| 31783 | .{ ._, ._, .mov, .tmp1q, .memad(.dst0q, .add_size, -16), ._, ._ }, |
| 31784 | .{ ._, ._, .@"or", .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 31785 | .{ ._, ._, .mov, .tmp3q, .tmp0q, ._, ._ }, |
| 31786 | .{ ._, ._, .@"and", .tmp3q, .tmp1q, ._, ._ }, |
| 31787 | .{ ._, ._r, .sh, .tmp1q, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| 31788 | .{ ._, ._, .@"or", .tmp2q, .tmp1q, ._, ._ }, |
| 31789 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 31790 | .{ ._, ._, .mov, .tmp7q, .si(-1), ._, ._ }, |
| 31791 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, |
| 31792 | .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ }, |
| 31793 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 31794 | .{ ._, ._, .mov, .tmp3q, .tmp0q, ._, ._ }, |
| 31795 | .{ .@"0:", ._, .mov, .memad(.dst0q, .add_size, -16), .tmp3q, ._, ._ }, |
| 31796 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .ui(0), ._, ._ }, |
| 31797 | } }, |
| 31798 | }, .{ |
| 31799 | .required_features = .{ .@"64bit", null, null, null }, |
| 31800 | .src_constraints = .{ |
| 31801 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 31802 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 31803 | .any, |
| 31804 | }, |
| 31805 | .patterns = &.{ |
| 31806 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 31807 | }, |
| 31808 | .extra_temps = .{ |
| 31809 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 31810 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, |
| 31811 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, |
| 31812 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 31813 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31814 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 31815 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31816 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 31817 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 31818 | .unused, |
| 31819 | .unused, |
| 31820 | }, |
| 31821 | .dst_temps = .{ .mem, .unused }, |
| 31822 | .clobbers = .{ .eflags = true }, |
| 31823 | .each = .{ .once = &.{ |
| 31824 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 31825 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| 31826 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| 31827 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 31828 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 31829 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| 31830 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 31831 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 31832 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 31833 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| 31834 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 31835 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ }, |
| 31836 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| 31837 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| 31838 | .{ .@"2:", ._, .mov, .tmp7q, .tmp4q, ._, ._ }, |
| 31839 | .{ ._, ._, .mul, .leasi(.tmp1q, .@"8", .tmp3), ._, ._, ._ }, |
| 31840 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| 31841 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| 31842 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ }, |
| 31843 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| 31844 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 31845 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| 31846 | .{ ._, ._, .adc, .tmp8q, .si(0), ._, ._ }, |
| 31847 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 31848 | .{ .@"1:", ._, .@"or", .tmp8q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| 31849 | .{ .@"2:", ._c, .de, .tmp3d, ._, ._, ._ }, |
| 31850 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 31851 | .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ }, |
| 31852 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 31853 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 31854 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 31855 | .{ ._, ._, .mov, .tmp0q, .ua(.src0, .add_umax), ._, ._ }, |
| 31856 | .{ ._, ._, .mov, .tmp1q, .memad(.dst0q, .add_size, -16), ._, ._ }, |
| 31857 | .{ ._, ._, .@"or", .tmp2q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 31858 | .{ ._, ._, .mov, .tmp3q, .tmp0q, ._, ._ }, |
| 31859 | .{ ._, ._, .@"and", .tmp3q, .tmp1q, ._, ._ }, |
| 31860 | .{ ._, ._r, .sh, .tmp1q, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| 31861 | .{ ._, ._, .@"or", .tmp2q, .tmp1q, ._, ._ }, |
| 31862 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 31863 | .{ ._, ._, .mov, .tmp7q, .si(-1), ._, ._ }, |
| 31864 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, |
| 31865 | .{ ._, ._, .mov, .tmp2d, .sia(-2, .dst0, .add_size_div_8), ._, ._ }, |
| 31866 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 31867 | .{ ._, ._, .mov, .tmp3q, .tmp0q, ._, ._ }, |
| 31868 | .{ .@"0:", ._, .mov, .memad(.dst0q, .add_size, -16), .tmp3q, ._, ._ }, |
| 31869 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .ui(0), ._, ._ }, |
| 31870 | } }, |
| 31871 | }, .{ |
| 31872 | .required_features = .{ .@"64bit", .bmi2, .adx, null }, |
| 31873 | .src_constraints = .{ |
| 31874 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 31875 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 31876 | .any, |
| 31877 | }, |
| 31878 | .patterns = &.{ |
| 31879 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 31880 | }, |
| 31881 | .extra_temps = .{ |
| 31882 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 31883 | .{ .type = .usize, .kind = .{ .reg = .rax } }, |
| 31884 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, |
| 31885 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31886 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 31887 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| 31888 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31889 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31890 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31891 | .unused, |
| 31892 | .unused, |
| 31893 | }, |
| 31894 | .dst_temps = .{ .mem, .unused }, |
| 31895 | .clobbers = .{ .eflags = true }, |
| 31896 | .each = .{ .once = &.{ |
| 31897 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ }, |
| 31898 | .{ ._, ._, .lea, .tmp1p, .mem(.src1), ._, ._ }, |
| 31899 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| 31900 | .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ }, |
| 31901 | .{ .@"0:", ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 31902 | .{ ._, ._, .@"or", .tmp4q, .memi(.src0q, .tmp0), ._, ._ }, |
| 31903 | .{ ._, ._z, .j, .@"2f", ._, ._, ._ }, |
| 31904 | .{ ._, ._, .lea, .tmp5p, .leaad(.tmp0, .sub_src0_size, 8), ._, ._ }, |
| 31905 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 31906 | .{ .@"1:", ._x, .mul, .tmp8q, .tmp7q, .leai(.tmp1q, .tmp5), ._ }, |
| 31907 | .{ ._, ._x, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| 31908 | .{ ._, ._, .mov, .memiad(.dst0q, .tmp5, .add_size, -8), .tmp7q, ._, ._ }, |
| 31909 | .{ ._, ._rcxz, .j, .@"1f", ._, ._, ._ }, |
| 31910 | .{ ._, ._x, .ado, .tmp8q, .memia(.dst0q, .tmp5, .add_size), ._, ._ }, |
| 31911 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| 31912 | .{ ._, ._, .lea, .tmp5p, .lead(.tmp5, 8), ._, ._ }, |
| 31913 | .{ ._, ._mp, .j, .@"1b", ._, ._, ._ }, |
| 31914 | .{ .@"2:", ._, .mov, .memi(.dst0q, .tmp0), .tmp4q, ._, ._ }, |
| 31915 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 31916 | .{ .@"1:", ._, .mov, .tmp4d, .tmp0d, ._, ._ }, |
| 31917 | .{ ._, ._x, .ado, .tmp8q, .tmp3q, ._, ._ }, |
| 31918 | .{ ._, ._x, .adc, .tmp8q, .tmp3q, ._, ._ }, |
| 31919 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 31920 | .{ .@"1:", ._, .@"or", .tmp8q, .leai(.tmp1q, .tmp4), ._, ._ }, |
| 31921 | .{ .@"2:", ._, .sub, .tmp4d, .si(8), ._, ._ }, |
| 31922 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, |
| 31923 | .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ }, |
| 31924 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 31925 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 31926 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 31927 | .{ ._, ._, .mov, .tmp0d, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| 31928 | .{ ._, ._, .mov, .tmp1q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 31929 | .{ ._, ._, .bzhi, .tmp3q, .tmp1q, .tmp0q, ._ }, |
| 31930 | .{ ._, ._r, .sh, .tmp1q, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| 31931 | .{ ._, ._, .@"or", .tmp2q, .tmp1q, ._, ._ }, |
| 31932 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 31933 | .{ ._, ._, .mov, .tmp1q, .si(-1), ._, ._ }, |
| 31934 | .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ }, |
| 31935 | .{ ._, ._, .mov, .tmp5d, .sia(-1, .dst0, .add_size_div_8), ._, ._ }, |
| 31936 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 31937 | .{ ._, ._, .bzhi, .tmp3q, .tmp1q, .tmp0q, ._ }, |
| 31938 | .{ .@"0:", ._, .mov, .memad(.dst0q, .add_size, -8), .tmp3q, ._, ._ }, |
| 31939 | } }, |
| 31940 | }, .{ |
| 31941 | .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null }, |
| 31942 | .src_constraints = .{ |
| 31943 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 31944 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 31945 | .any, |
| 31946 | }, |
| 31947 | .patterns = &.{ |
| 31948 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 31949 | }, |
| 31950 | .extra_temps = .{ |
| 31951 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 31952 | .{ .type = .usize, .kind = .{ .reg = .rax } }, |
| 31953 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, |
| 31954 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| 31955 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 31956 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 31957 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31958 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31959 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 31960 | .unused, |
| 31961 | .unused, |
| 31962 | }, |
| 31963 | .dst_temps = .{ .mem, .unused }, |
| 31964 | .clobbers = .{ .eflags = true }, |
| 31965 | .each = .{ .once = &.{ |
| 31966 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 31967 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| 31968 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| 31969 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 31970 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 31971 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| 31972 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 31973 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 31974 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 31975 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| 31976 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 31977 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ }, |
| 31978 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| 31979 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| 31980 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| 31981 | .{ .@"2:", ._x, .mul, .tmp8q, .tmp7q, .leasi(.tmp1q, .@"8", .tmp3), ._ }, |
| 31982 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| 31983 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ }, |
| 31984 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| 31985 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 31986 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| 31987 | .{ ._, ._, .adc, .tmp5d, .tmp5d, ._, ._ }, |
| 31988 | .{ ._, ._, .@"or", .tmp5q, .tmp8q, ._, ._ }, |
| 31989 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 31990 | .{ .@"1:", ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| 31991 | .{ .@"2:", ._, .sub, .tmp3d, .si(1), ._, ._ }, |
| 31992 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, |
| 31993 | .{ ._, ._, .@"or", .tmp2q, .tmp5q, ._, ._ }, |
| 31994 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 31995 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 31996 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 31997 | .{ ._, ._, .mov, .tmp0d, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| 31998 | .{ ._, ._, .mov, .tmp1q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 31999 | .{ ._, ._, .bzhi, .tmp3q, .tmp1q, .tmp0q, ._ }, |
| 32000 | .{ ._, ._r, .sh, .tmp1q, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| 32001 | .{ ._, ._, .@"or", .tmp2q, .tmp1q, ._, ._ }, |
| 32002 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 32003 | .{ ._, ._, .mov, .tmp1q, .si(-1), ._, ._ }, |
| 32004 | .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ }, |
| 32005 | .{ ._, ._, .mov, .tmp3d, .sia(-1, .dst0, .add_size_div_8), ._, ._ }, |
| 32006 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 32007 | .{ ._, ._, .bzhi, .tmp3q, .tmp1q, .tmp0q, ._ }, |
| 32008 | .{ .@"0:", ._, .mov, .memad(.dst0q, .add_size, -8), .tmp3q, ._, ._ }, |
| 32009 | } }, |
| 32010 | }, .{ |
| 32011 | .required_features = .{ .@"64bit", .bmi2, null, null }, |
| 32012 | .src_constraints = .{ |
| 32013 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 32014 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 32015 | .any, |
| 32016 | }, |
| 32017 | .patterns = &.{ |
| 32018 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 32019 | }, |
| 32020 | .extra_temps = .{ |
| 32021 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 32022 | .{ .type = .usize, .kind = .{ .reg = .rax } }, |
| 32023 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, |
| 32024 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| 32025 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 32026 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 32027 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 32028 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 32029 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 32030 | .unused, |
| 32031 | .unused, |
| 32032 | }, |
| 32033 | .dst_temps = .{ .mem, .unused }, |
| 32034 | .clobbers = .{ .eflags = true }, |
| 32035 | .each = .{ .once = &.{ |
| 32036 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 32037 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| 32038 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| 32039 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 32040 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 32041 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| 32042 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 32043 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 32044 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 32045 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| 32046 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 32047 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ }, |
| 32048 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| 32049 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| 32050 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| 32051 | .{ .@"2:", ._x, .mul, .tmp8q, .tmp7q, .leasi(.tmp1q, .@"8", .tmp3), ._ }, |
| 32052 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| 32053 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ }, |
| 32054 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| 32055 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 32056 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| 32057 | .{ ._, ._, .adc, .tmp5d, .tmp5d, ._, ._ }, |
| 32058 | .{ ._, ._, .@"or", .tmp5q, .tmp8q, ._, ._ }, |
| 32059 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 32060 | .{ .@"1:", ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| 32061 | .{ .@"2:", ._c, .de, .tmp3d, ._, ._, ._ }, |
| 32062 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 32063 | .{ ._, ._, .@"or", .tmp2q, .tmp5q, ._, ._ }, |
| 32064 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 32065 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 32066 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 32067 | .{ ._, ._, .mov, .tmp0d, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| 32068 | .{ ._, ._, .mov, .tmp1q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 32069 | .{ ._, ._, .bzhi, .tmp3q, .tmp1q, .tmp0q, ._ }, |
| 32070 | .{ ._, ._r, .sh, .tmp1q, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| 32071 | .{ ._, ._, .@"or", .tmp2q, .tmp1q, ._, ._ }, |
| 32072 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 32073 | .{ ._, ._, .mov, .tmp1q, .si(-1), ._, ._ }, |
| 32074 | .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ }, |
| 32075 | .{ ._, ._, .mov, .tmp3d, .sia(-1, .dst0, .add_size_div_8), ._, ._ }, |
| 32076 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 32077 | .{ ._, ._, .bzhi, .tmp3q, .tmp1q, .tmp0q, ._ }, |
| 32078 | .{ .@"0:", ._, .mov, .memad(.dst0q, .add_size, -8), .tmp3q, ._, ._ }, |
| 32079 | } }, |
| 32080 | }, .{ |
| 32081 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 32082 | .src_constraints = .{ |
| 32083 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 32084 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 32085 | .any, |
| 32086 | }, |
| 32087 | .patterns = &.{ |
| 32088 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 32089 | }, |
| 32090 | .extra_temps = .{ |
| 32091 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 32092 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, |
| 32093 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, |
| 32094 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 32095 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 32096 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 32097 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 32098 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 32099 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 32100 | .unused, |
| 32101 | .unused, |
| 32102 | }, |
| 32103 | .dst_temps = .{ .mem, .unused }, |
| 32104 | .clobbers = .{ .eflags = true }, |
| 32105 | .each = .{ .once = &.{ |
| 32106 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 32107 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| 32108 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| 32109 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 32110 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 32111 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| 32112 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 32113 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 32114 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 32115 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| 32116 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 32117 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ }, |
| 32118 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| 32119 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| 32120 | .{ .@"2:", ._, .mov, .tmp7q, .tmp4q, ._, ._ }, |
| 32121 | .{ ._, ._, .mul, .leasi(.tmp1q, .@"8", .tmp3), ._, ._, ._ }, |
| 32122 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| 32123 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| 32124 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ }, |
| 32125 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| 32126 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 32127 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| 32128 | .{ ._, ._, .adc, .tmp8q, .si(0), ._, ._ }, |
| 32129 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 32130 | .{ .@"1:", ._, .@"or", .tmp8q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| 32131 | .{ .@"2:", ._, .sub, .tmp3d, .si(1), ._, ._ }, |
| 32132 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, |
| 32133 | .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ }, |
| 32134 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 32135 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 32136 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 32137 | .{ ._, ._, .mov, .tmp0q, .ua(.src0, .add_umax), ._, ._ }, |
| 32138 | .{ ._, ._, .mov, .tmp1q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 32139 | .{ ._, ._, .mov, .tmp3q, .tmp0q, ._, ._ }, |
| 32140 | .{ ._, ._, .@"and", .tmp3q, .tmp1q, ._, ._ }, |
| 32141 | .{ ._, ._r, .sh, .tmp1q, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| 32142 | .{ ._, ._, .@"or", .tmp2q, .tmp1q, ._, ._ }, |
| 32143 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 32144 | .{ ._, ._, .mov, .tmp7q, .si(-1), ._, ._ }, |
| 32145 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, |
| 32146 | .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ }, |
| 32147 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 32148 | .{ ._, ._, .mov, .tmp3q, .tmp0q, ._, ._ }, |
| 32149 | .{ .@"0:", ._, .mov, .memad(.dst0q, .add_size, -8), .tmp3q, ._, ._ }, |
| 32150 | } }, |
| 32151 | }, .{ |
| 32152 | .required_features = .{ .@"64bit", null, null, null }, |
| 32153 | .src_constraints = .{ |
| 32154 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 32155 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 32156 | .any, |
| 32157 | }, |
| 32158 | .patterns = &.{ |
| 32159 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 32160 | }, |
| 32161 | .extra_temps = .{ |
| 32162 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 32163 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, |
| 32164 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, |
| 32165 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 32166 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 32167 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 32168 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 32169 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 32170 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 32171 | .unused, |
| 32172 | .unused, |
| 32173 | }, |
| 32174 | .dst_temps = .{ .mem, .unused }, |
| 32175 | .clobbers = .{ .eflags = true }, |
| 32176 | .each = .{ .once = &.{ |
| 32177 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 32178 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| 32179 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| 32180 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 32181 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 32182 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| 32183 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 32184 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 32185 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 32186 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| 32187 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 32188 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_size), ._, ._ }, |
| 32189 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| 32190 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| 32191 | .{ .@"2:", ._, .mov, .tmp7q, .tmp4q, ._, ._ }, |
| 32192 | .{ ._, ._, .mul, .leasi(.tmp1q, .@"8", .tmp3), ._, ._, ._ }, |
| 32193 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| 32194 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| 32195 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_size), .tmp7q, ._, ._ }, |
| 32196 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| 32197 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 32198 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| 32199 | .{ ._, ._, .adc, .tmp8q, .si(0), ._, ._ }, |
| 32200 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 32201 | .{ .@"1:", ._, .@"or", .tmp8q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| 32202 | .{ .@"2:", ._c, .de, .tmp3d, ._, ._, ._ }, |
| 32203 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 32204 | .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ }, |
| 32205 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 32206 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 32207 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 32208 | .{ ._, ._, .mov, .tmp0q, .ua(.src0, .add_umax), ._, ._ }, |
| 32209 | .{ ._, ._, .mov, .tmp1q, .memad(.dst0q, .add_size, -8), ._, ._ }, |
| 32210 | .{ ._, ._, .mov, .tmp3q, .tmp0q, ._, ._ }, |
| 32211 | .{ ._, ._, .@"and", .tmp3q, .tmp1q, ._, ._ }, |
| 32212 | .{ ._, ._r, .sh, .tmp1q, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| 32213 | .{ ._, ._, .@"or", .tmp2q, .tmp1q, ._, ._ }, |
| 32214 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 32215 | .{ ._, ._, .mov, .tmp7q, .si(-1), ._, ._ }, |
| 32216 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, |
| 32217 | .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ }, |
| 32218 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 32219 | .{ ._, ._, .mov, .tmp3q, .tmp0q, ._, ._ }, |
| 32220 | .{ .@"0:", ._, .mov, .memad(.dst0q, .add_size, -8), .tmp3q, ._, ._ }, |
| 32221 | } }, |
| 32222 | } }) catch |err| switch (err) { |
| 32223 | error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{ |
| 32224 | @tagName(air_tag), |
| 32225 | cg.typeOf(bin_op.lhs).fmt(pt), |
| 32226 | ops[0].tracking(cg), |
| 32227 | ops[1].tracking(cg), |
| 32228 | }), |
| 32229 | else => |e| return e, |
| 32230 | }; |
| 32231 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 32232 | }, |
| 32233 | .div_float, .div_float_optimized, .div_exact, .div_exact_optimized => |air_tag| if (use_old) try cg.airMulDivBinOp(inst, switch (air_tag) { |
| 32234 | else => unreachable, |
| 32235 | .div_float, .div_float_optimized => .div_float, |
| 32236 | .div_exact, .div_exact_optimized => .div_exact, |
| 32237 | }) else { |
| 32238 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| 32239 | const ty = cg.typeOf(bin_op.lhs); |
| 32240 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| 32241 | var res: [1]Temp = undefined; |
| 32242 | (if (cg.floatBits(ty.scalarType(zcu))) |_| cg.select(&res, &.{ty}, &ops, comptime &.{ .{ |
| 32243 | .required_features = .{ .f16c, null, null, null }, |
| 32244 | .src_constraints = .{ |
| 32245 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| 32246 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| 32247 | .any, |
| 32248 | }, |
| 32249 | .patterns = &.{ |
| 32250 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 32251 | }, |
| 32252 | .extra_temps = .{ |
| 32253 | .{ .type = .f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, |
| 32254 | .unused, |
| 32255 | .unused, |
| 32256 | .unused, |
| 32257 | .unused, |
| 32258 | .unused, |
| 32259 | .unused, |
| 32260 | .unused, |
| 32261 | .unused, |
| 32262 | .unused, |
| 32263 | .unused, |
| 32264 | }, |
| 32265 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 32266 | .each = .{ .once = &.{ |
| 32267 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| 32268 | .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ }, |
| 32269 | .{ ._, .v_ss, .div, .dst0x, .dst0x, .tmp0d, ._ }, |
| 32270 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| 32271 | } }, |
| 32272 | }, .{ |
| 32273 | .required_features = .{ .sse, null, null, null }, |
| 32274 | .src_constraints = .{ |
| 32275 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| 32276 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| 32277 | .any, |
| 32278 | }, |
| 32279 | .patterns = &.{ |
| 32280 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, |
| 32281 | }, |
| 32282 | .call_frame = .{ .alignment = .@"16" }, |
| 32283 | .extra_temps = .{ |
| 32284 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } }, |
| 32285 | .unused, |
| 32286 | .unused, |
| 32287 | .unused, |
| 32288 | .unused, |
| 32289 | .unused, |
| 32290 | .unused, |
| 32291 | .unused, |
| 32292 | .unused, |
| 32293 | .unused, |
| 32294 | .unused, |
| 32295 | }, |
| 32296 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 32297 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 32298 | .each = .{ .once = &.{ |
| 32299 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 32300 | } }, |
| 32301 | }, .{ |
| 32302 | .required_features = .{ .f16c, null, null, null }, |
| 32303 | .src_constraints = .{ |
| 32304 | .{ .scalar_float = .{ .of = .qword, .is = .word } }, |
| 32305 | .{ .scalar_float = .{ .of = .qword, .is = .word } }, |
| 32306 | .any, |
| 32307 | }, |
| 32308 | .patterns = &.{ |
| 32309 | .{ .src = .{ .mem, .mem, .none } }, |
| 32310 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 32311 | .{ .src = .{ .mem, .to_sse, .none } }, |
| 32312 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 32313 | }, |
| 32314 | .extra_temps = .{ |
| 32315 | .{ .type = .vector_4_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, |
| 32316 | .unused, |
| 32317 | .unused, |
| 32318 | .unused, |
| 32319 | .unused, |
| 32320 | .unused, |
| 32321 | .unused, |
| 32322 | .unused, |
| 32323 | .unused, |
| 32324 | .unused, |
| 32325 | .unused, |
| 32326 | }, |
| 32327 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 32328 | .each = .{ .once = &.{ |
| 32329 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| 32330 | .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ }, |
| 32331 | .{ ._, .v_ps, .div, .dst0x, .dst0x, .tmp0x, ._ }, |
| 32332 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| 32333 | } }, |
| 32334 | }, .{ |
| 32335 | .required_features = .{ .f16c, null, null, null }, |
| 32336 | .src_constraints = .{ |
| 32337 | .{ .scalar_float = .{ .of = .xword, .is = .word } }, |
| 32338 | .{ .scalar_float = .{ .of = .xword, .is = .word } }, |
| 32339 | .any, |
| 32340 | }, |
| 32341 | .patterns = &.{ |
| 32342 | .{ .src = .{ .mem, .mem, .none } }, |
| 32343 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 32344 | .{ .src = .{ .mem, .to_sse, .none } }, |
| 32345 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 32346 | }, |
| 32347 | .extra_temps = .{ |
| 32348 | .{ .type = .vector_8_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, |
| 32349 | .unused, |
| 32350 | .unused, |
| 32351 | .unused, |
| 32352 | .unused, |
| 32353 | .unused, |
| 32354 | .unused, |
| 32355 | .unused, |
| 32356 | .unused, |
| 32357 | .unused, |
| 32358 | .unused, |
| 32359 | }, |
| 32360 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 32361 | .each = .{ .once = &.{ |
| 32362 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, |
| 32363 | .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ }, |
| 32364 | .{ ._, .v_ps, .div, .dst0y, .dst0y, .tmp0y, ._ }, |
| 32365 | .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ }, |
| 32366 | } }, |
| 32367 | }, .{ |
| 32368 | .required_features = .{ .f16c, null, null, null }, |
| 32369 | .src_constraints = .{ |
| 32370 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, |
| 32371 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, |
| 32372 | .any, |
| 32373 | }, |
| 32374 | .patterns = &.{ |
| 32375 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 32376 | }, |
| 32377 | .extra_temps = .{ |
| 32378 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 32379 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| 32380 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| 32381 | .unused, |
| 32382 | .unused, |
| 32383 | .unused, |
| 32384 | .unused, |
| 32385 | .unused, |
| 32386 | .unused, |
| 32387 | .unused, |
| 32388 | .unused, |
| 32389 | }, |
| 32390 | .dst_temps = .{ .mem, .unused }, |
| 32391 | .clobbers = .{ .eflags = true }, |
| 32392 | .each = .{ .once = &.{ |
| 32393 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 32394 | .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 32395 | .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 32396 | .{ ._, .v_ps, .div, .tmp1y, .tmp1y, .tmp2y, ._ }, |
| 32397 | .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ }, |
| 32398 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 32399 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 32400 | } }, |
| 32401 | }, .{ |
| 32402 | .required_features = .{ .avx, null, null, null }, |
| 32403 | .src_constraints = .{ |
| 32404 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 32405 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 32406 | .any, |
| 32407 | }, |
| 32408 | .patterns = &.{ |
| 32409 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 32410 | }, |
| 32411 | .call_frame = .{ .alignment = .@"16" }, |
| 32412 | .extra_temps = .{ |
| 32413 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 32414 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, |
| 32415 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| 32416 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } }, |
| 32417 | .unused, |
| 32418 | .unused, |
| 32419 | .unused, |
| 32420 | .unused, |
| 32421 | .unused, |
| 32422 | .unused, |
| 32423 | .unused, |
| 32424 | }, |
| 32425 | .dst_temps = .{ .mem, .unused }, |
| 32426 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 32427 | .each = .{ .once = &.{ |
| 32428 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 32429 | .{ .@"0:", .vp_, .xor, .tmp2x, .tmp2x, .tmp2x, ._ }, |
| 32430 | .{ ._, .vp_w, .insr, .tmp1x, .tmp2x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, |
| 32431 | .{ ._, .vp_w, .insr, .tmp2x, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0) }, |
| 32432 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 32433 | .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, |
| 32434 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 32435 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 32436 | } }, |
| 32437 | }, .{ |
| 32438 | .required_features = .{ .sse4_1, null, null, null }, |
| 32439 | .src_constraints = .{ |
| 32440 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 32441 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 32442 | .any, |
| 32443 | }, |
| 32444 | .patterns = &.{ |
| 32445 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 32446 | }, |
| 32447 | .call_frame = .{ .alignment = .@"16" }, |
| 32448 | .extra_temps = .{ |
| 32449 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 32450 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, |
| 32451 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| 32452 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } }, |
| 32453 | .unused, |
| 32454 | .unused, |
| 32455 | .unused, |
| 32456 | .unused, |
| 32457 | .unused, |
| 32458 | .unused, |
| 32459 | .unused, |
| 32460 | }, |
| 32461 | .dst_temps = .{ .mem, .unused }, |
| 32462 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 32463 | .each = .{ .once = &.{ |
| 32464 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 32465 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 32466 | .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ }, |
| 32467 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, |
| 32468 | .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ }, |
| 32469 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 32470 | .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, |
| 32471 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 32472 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 32473 | } }, |
| 32474 | }, .{ |
| 32475 | .required_features = .{ .sse2, null, null, null }, |
| 32476 | .src_constraints = .{ |
| 32477 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 32478 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 32479 | .any, |
| 32480 | }, |
| 32481 | .patterns = &.{ |
| 32482 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 32483 | }, |
| 32484 | .call_frame = .{ .alignment = .@"16" }, |
| 32485 | .extra_temps = .{ |
| 32486 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 32487 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, |
| 32488 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| 32489 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } }, |
| 32490 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 32491 | .unused, |
| 32492 | .unused, |
| 32493 | .unused, |
| 32494 | .unused, |
| 32495 | .unused, |
| 32496 | .unused, |
| 32497 | }, |
| 32498 | .dst_temps = .{ .mem, .unused }, |
| 32499 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 32500 | .each = .{ .once = &.{ |
| 32501 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 32502 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 32503 | .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ }, |
| 32504 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, |
| 32505 | .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ }, |
| 32506 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 32507 | .{ ._, .p_w, .extr, .tmp4d, .tmp1x, .ui(0), ._ }, |
| 32508 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp4w, ._, ._ }, |
| 32509 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 32510 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 32511 | } }, |
| 32512 | }, .{ |
| 32513 | .required_features = .{ .sse, null, null, null }, |
| 32514 | .src_constraints = .{ |
| 32515 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 32516 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 32517 | .any, |
| 32518 | }, |
| 32519 | .patterns = &.{ |
| 32520 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 32521 | }, |
| 32522 | .call_frame = .{ .alignment = .@"16" }, |
| 32523 | .extra_temps = .{ |
| 32524 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 32525 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 32526 | .{ .type = .f32, .kind = .mem }, |
| 32527 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, |
| 32528 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| 32529 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } }, |
| 32530 | .unused, |
| 32531 | .unused, |
| 32532 | .unused, |
| 32533 | .unused, |
| 32534 | .unused, |
| 32535 | }, |
| 32536 | .dst_temps = .{ .mem, .unused }, |
| 32537 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 32538 | .each = .{ .once = &.{ |
| 32539 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 32540 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 32541 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| 32542 | .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ }, |
| 32543 | .{ ._, ._, .movzx, .tmp1d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 32544 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| 32545 | .{ ._, ._ss, .mov, .tmp4x, .mem(.tmp2d), ._, ._ }, |
| 32546 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| 32547 | .{ ._, ._ss, .mov, .mem(.tmp2d), .tmp3x, ._, ._ }, |
| 32548 | .{ ._, ._, .mov, .tmp1d, .mem(.tmp2d), ._, ._ }, |
| 32549 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, |
| 32550 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 32551 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 32552 | } }, |
| 32553 | }, .{ |
| 32554 | .required_features = .{ .avx, null, null, null }, |
| 32555 | .src_constraints = .{ |
| 32556 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, |
| 32557 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, |
| 32558 | .any, |
| 32559 | }, |
| 32560 | .patterns = &.{ |
| 32561 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 32562 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 32563 | }, |
| 32564 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 32565 | .each = .{ .once = &.{ |
| 32566 | .{ ._, .v_ss, .div, .dst0x, .src0x, .src1d, ._ }, |
| 32567 | } }, |
| 32568 | }, .{ |
| 32569 | .required_features = .{ .sse, null, null, null }, |
| 32570 | .src_constraints = .{ |
| 32571 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, |
| 32572 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, |
| 32573 | .any, |
| 32574 | }, |
| 32575 | .patterns = &.{ |
| 32576 | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 32577 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 32578 | }, |
| 32579 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 32580 | .each = .{ .once = &.{ |
| 32581 | .{ ._, ._ss, .div, .dst0x, .src1d, ._, ._ }, |
| 32582 | } }, |
| 32583 | }, .{ |
| 32584 | .required_features = .{ .avx, null, null, null }, |
| 32585 | .src_constraints = .{ |
| 32586 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, |
| 32587 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, |
| 32588 | .any, |
| 32589 | }, |
| 32590 | .patterns = &.{ |
| 32591 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 32592 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 32593 | }, |
| 32594 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 32595 | .each = .{ .once = &.{ |
| 32596 | .{ ._, .v_ps, .div, .dst0x, .src0x, .src1x, ._ }, |
| 32597 | } }, |
| 32598 | }, .{ |
| 32599 | .required_features = .{ .sse, null, null, null }, |
| 32600 | .src_constraints = .{ |
| 32601 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, |
| 32602 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, |
| 32603 | .any, |
| 32604 | }, |
| 32605 | .patterns = &.{ |
| 32606 | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 32607 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 32608 | }, |
| 32609 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 32610 | .each = .{ .once = &.{ |
| 32611 | .{ ._, ._ps, .div, .dst0x, .src1x, ._, ._ }, |
| 32612 | } }, |
| 32613 | }, .{ |
| 32614 | .required_features = .{ .avx, null, null, null }, |
| 32615 | .src_constraints = .{ |
| 32616 | .{ .scalar_float = .{ .of = .yword, .is = .dword } }, |
| 32617 | .{ .scalar_float = .{ .of = .yword, .is = .dword } }, |
| 32618 | .any, |
| 32619 | }, |
| 32620 | .patterns = &.{ |
| 32621 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 32622 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 32623 | }, |
| 32624 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 32625 | .each = .{ .once = &.{ |
| 32626 | .{ ._, .v_ps, .div, .dst0y, .src0y, .src1y, ._ }, |
| 32627 | } }, |
| 32628 | }, .{ |
| 32629 | .required_features = .{ .avx, null, null, null }, |
| 32630 | .src_constraints = .{ |
| 32631 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, |
| 32632 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, |
| 32633 | .any, |
| 32634 | }, |
| 32635 | .patterns = &.{ |
| 32636 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 32637 | }, |
| 32638 | .extra_temps = .{ |
| 32639 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 32640 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| 32641 | .unused, |
| 32642 | .unused, |
| 32643 | .unused, |
| 32644 | .unused, |
| 32645 | .unused, |
| 32646 | .unused, |
| 32647 | .unused, |
| 32648 | .unused, |
| 32649 | .unused, |
| 32650 | }, |
| 32651 | .dst_temps = .{ .mem, .unused }, |
| 32652 | .clobbers = .{ .eflags = true }, |
| 32653 | .each = .{ .once = &.{ |
| 32654 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 32655 | .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, |
| 32656 | .{ ._, .v_ps, .div, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ }, |
| 32657 | .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, |
| 32658 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 32659 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 32660 | } }, |
| 32661 | }, .{ |
| 32662 | .required_features = .{ .sse, null, null, null }, |
| 32663 | .src_constraints = .{ |
| 32664 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, |
| 32665 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, |
| 32666 | .any, |
| 32667 | }, |
| 32668 | .patterns = &.{ |
| 32669 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 32670 | }, |
| 32671 | .extra_temps = .{ |
| 32672 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 32673 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| 32674 | .unused, |
| 32675 | .unused, |
| 32676 | .unused, |
| 32677 | .unused, |
| 32678 | .unused, |
| 32679 | .unused, |
| 32680 | .unused, |
| 32681 | .unused, |
| 32682 | .unused, |
| 32683 | }, |
| 32684 | .dst_temps = .{ .mem, .unused }, |
| 32685 | .clobbers = .{ .eflags = true }, |
| 32686 | .each = .{ .once = &.{ |
| 32687 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 32688 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 32689 | .{ ._, ._ps, .div, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 32690 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| 32691 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 32692 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 32693 | } }, |
| 32694 | }, .{ |
| 32695 | .required_features = .{ .avx, null, null, null }, |
| 32696 | .src_constraints = .{ |
| 32697 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| 32698 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| 32699 | .any, |
| 32700 | }, |
| 32701 | .patterns = &.{ |
| 32702 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 32703 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 32704 | }, |
| 32705 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 32706 | .each = .{ .once = &.{ |
| 32707 | .{ ._, .v_sd, .div, .dst0x, .src0x, .src1q, ._ }, |
| 32708 | } }, |
| 32709 | }, .{ |
| 32710 | .required_features = .{ .sse2, null, null, null }, |
| 32711 | .src_constraints = .{ |
| 32712 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| 32713 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| 32714 | .any, |
| 32715 | }, |
| 32716 | .patterns = &.{ |
| 32717 | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 32718 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 32719 | }, |
| 32720 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 32721 | .each = .{ .once = &.{ |
| 32722 | .{ ._, ._sd, .div, .dst0x, .src1q, ._, ._ }, |
| 32723 | } }, |
| 32724 | }, .{ |
| 32725 | .required_features = .{ .x87, null, null, null }, |
| 32726 | .src_constraints = .{ |
| 32727 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| 32728 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| 32729 | .any, |
| 32730 | }, |
| 32731 | .patterns = &.{ |
| 32732 | .{ .src = .{ .mem, .mem, .none } }, |
| 32733 | }, |
| 32734 | .extra_temps = .{ |
| 32735 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, |
| 32736 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 32737 | .unused, |
| 32738 | .unused, |
| 32739 | .unused, |
| 32740 | .unused, |
| 32741 | .unused, |
| 32742 | .unused, |
| 32743 | .unused, |
| 32744 | .unused, |
| 32745 | .unused, |
| 32746 | }, |
| 32747 | .dst_temps = .{ .mem, .unused }, |
| 32748 | .each = .{ .once = &.{ |
| 32749 | .{ ._, .f_, .ld, .src0q, ._, ._, ._ }, |
| 32750 | .{ ._, .f_, .div, .src1q, ._, ._, ._ }, |
| 32751 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| 32752 | } }, |
| 32753 | }, .{ |
| 32754 | .required_features = .{ .avx, null, null, null }, |
| 32755 | .src_constraints = .{ |
| 32756 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, |
| 32757 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, |
| 32758 | .any, |
| 32759 | }, |
| 32760 | .patterns = &.{ |
| 32761 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 32762 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 32763 | }, |
| 32764 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 32765 | .each = .{ .once = &.{ |
| 32766 | .{ ._, .v_pd, .div, .dst0x, .src0x, .src1x, ._ }, |
| 32767 | } }, |
| 32768 | }, .{ |
| 32769 | .required_features = .{ .sse2, null, null, null }, |
| 32770 | .src_constraints = .{ |
| 32771 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, |
| 32772 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, |
| 32773 | .any, |
| 32774 | }, |
| 32775 | .patterns = &.{ |
| 32776 | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 32777 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 32778 | }, |
| 32779 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 32780 | .each = .{ .once = &.{ |
| 32781 | .{ ._, ._pd, .div, .dst0x, .src1x, ._, ._ }, |
| 32782 | } }, |
| 32783 | }, .{ |
| 32784 | .required_features = .{ .avx, null, null, null }, |
| 32785 | .src_constraints = .{ |
| 32786 | .{ .scalar_float = .{ .of = .yword, .is = .qword } }, |
| 32787 | .{ .scalar_float = .{ .of = .yword, .is = .qword } }, |
| 32788 | .any, |
| 32789 | }, |
| 32790 | .patterns = &.{ |
| 32791 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 32792 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 32793 | }, |
| 32794 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 32795 | .each = .{ .once = &.{ |
| 32796 | .{ ._, .v_pd, .div, .dst0y, .src0y, .src1y, ._ }, |
| 32797 | } }, |
| 32798 | }, .{ |
| 32799 | .required_features = .{ .avx, null, null, null }, |
| 32800 | .src_constraints = .{ |
| 32801 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, |
| 32802 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, |
| 32803 | .any, |
| 32804 | }, |
| 32805 | .patterns = &.{ |
| 32806 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 32807 | }, |
| 32808 | .extra_temps = .{ |
| 32809 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 32810 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, |
| 32811 | .unused, |
| 32812 | .unused, |
| 32813 | .unused, |
| 32814 | .unused, |
| 32815 | .unused, |
| 32816 | .unused, |
| 32817 | .unused, |
| 32818 | .unused, |
| 32819 | .unused, |
| 32820 | }, |
| 32821 | .dst_temps = .{ .mem, .unused }, |
| 32822 | .clobbers = .{ .eflags = true }, |
| 32823 | .each = .{ .once = &.{ |
| 32824 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 32825 | .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, |
| 32826 | .{ ._, .v_pd, .div, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ }, |
| 32827 | .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, |
| 32828 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 32829 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 32830 | } }, |
| 32831 | }, .{ |
| 32832 | .required_features = .{ .sse2, null, null, null }, |
| 32833 | .src_constraints = .{ |
| 32834 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, |
| 32835 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, |
| 32836 | .any, |
| 32837 | }, |
| 32838 | .patterns = &.{ |
| 32839 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 32840 | }, |
| 32841 | .extra_temps = .{ |
| 32842 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 32843 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| 32844 | .unused, |
| 32845 | .unused, |
| 32846 | .unused, |
| 32847 | .unused, |
| 32848 | .unused, |
| 32849 | .unused, |
| 32850 | .unused, |
| 32851 | .unused, |
| 32852 | .unused, |
| 32853 | }, |
| 32854 | .dst_temps = .{ .mem, .unused }, |
| 32855 | .clobbers = .{ .eflags = true }, |
| 32856 | .each = .{ .once = &.{ |
| 32857 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 32858 | .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 32859 | .{ ._, ._pd, .div, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 32860 | .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| 32861 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 32862 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 32863 | } }, |
| 32864 | }, .{ |
| 32865 | .required_features = .{ .x87, null, null, null }, |
| 32866 | .src_constraints = .{ |
| 32867 | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, |
| 32868 | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, |
| 32869 | .any, |
| 32870 | }, |
| 32871 | .patterns = &.{ |
| 32872 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 32873 | }, |
| 32874 | .extra_temps = .{ |
| 32875 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 32876 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, |
| 32877 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 32878 | .unused, |
| 32879 | .unused, |
| 32880 | .unused, |
| 32881 | .unused, |
| 32882 | .unused, |
| 32883 | .unused, |
| 32884 | .unused, |
| 32885 | .unused, |
| 32886 | }, |
| 32887 | .dst_temps = .{ .mem, .unused }, |
| 32888 | .clobbers = .{ .eflags = true }, |
| 32889 | .each = .{ .once = &.{ |
| 32890 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 32891 | .{ .@"0:", .f_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 32892 | .{ ._, .f_, .div, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 32893 | .{ ._, .f_p, .st, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 32894 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 32895 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 32896 | } }, |
| 32897 | }, .{ |
| 32898 | .required_features = .{ .x87, null, null, null }, |
| 32899 | .src_constraints = .{ |
| 32900 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 32901 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 32902 | .any, |
| 32903 | }, |
| 32904 | .patterns = &.{ |
| 32905 | .{ .src = .{ .mem, .mem, .none } }, |
| 32906 | }, |
| 32907 | .extra_temps = .{ |
| 32908 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 32909 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 32910 | .unused, |
| 32911 | .unused, |
| 32912 | .unused, |
| 32913 | .unused, |
| 32914 | .unused, |
| 32915 | .unused, |
| 32916 | .unused, |
| 32917 | .unused, |
| 32918 | .unused, |
| 32919 | }, |
| 32920 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| 32921 | .each = .{ .once = &.{ |
| 32922 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| 32923 | .{ ._, .f_, .ld, .src1t, ._, ._, ._ }, |
| 32924 | .{ ._, .f_p, .div, ._, ._, ._, ._ }, |
| 32925 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| 32926 | } }, |
| 32927 | }, .{ |
| 32928 | .required_features = .{ .x87, null, null, null }, |
| 32929 | .src_constraints = .{ |
| 32930 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 32931 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 32932 | .any, |
| 32933 | }, |
| 32934 | .patterns = &.{ |
| 32935 | .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } }, |
| 32936 | }, |
| 32937 | .extra_temps = .{ |
| 32938 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 32939 | .unused, |
| 32940 | .unused, |
| 32941 | .unused, |
| 32942 | .unused, |
| 32943 | .unused, |
| 32944 | .unused, |
| 32945 | .unused, |
| 32946 | .unused, |
| 32947 | .unused, |
| 32948 | .unused, |
| 32949 | }, |
| 32950 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| 32951 | .each = .{ .once = &.{ |
| 32952 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| 32953 | .{ ._, .f_, .divr, .tmp0t, .src1t, ._, ._ }, |
| 32954 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| 32955 | } }, |
| 32956 | }, .{ |
| 32957 | .required_features = .{ .x87, null, null, null }, |
| 32958 | .src_constraints = .{ |
| 32959 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 32960 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 32961 | .any, |
| 32962 | }, |
| 32963 | .patterns = &.{ |
| 32964 | .{ .src = .{ .mem, .to_x87, .none } }, |
| 32965 | .{ .src = .{ .to_x87, .to_x87, .none } }, |
| 32966 | }, |
| 32967 | .extra_temps = .{ |
| 32968 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 32969 | .unused, |
| 32970 | .unused, |
| 32971 | .unused, |
| 32972 | .unused, |
| 32973 | .unused, |
| 32974 | .unused, |
| 32975 | .unused, |
| 32976 | .unused, |
| 32977 | .unused, |
| 32978 | .unused, |
| 32979 | }, |
| 32980 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| 32981 | .each = .{ .once = &.{ |
| 32982 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| 32983 | .{ ._, .f_, .div, .tmp0t, .src1t, ._, ._ }, |
| 32984 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| 32985 | } }, |
| 32986 | }, .{ |
| 32987 | .required_features = .{ .x87, null, null, null }, |
| 32988 | .src_constraints = .{ |
| 32989 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 32990 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 32991 | .any, |
| 32992 | }, |
| 32993 | .patterns = &.{ |
| 32994 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 32995 | }, |
| 32996 | .extra_temps = .{ |
| 32997 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 32998 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 32999 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 33000 | .unused, |
| 33001 | .unused, |
| 33002 | .unused, |
| 33003 | .unused, |
| 33004 | .unused, |
| 33005 | .unused, |
| 33006 | .unused, |
| 33007 | .unused, |
| 33008 | }, |
| 33009 | .dst_temps = .{ .mem, .unused }, |
| 33010 | .clobbers = .{ .eflags = true }, |
| 33011 | .each = .{ .once = &.{ |
| 33012 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 33013 | .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 33014 | .{ ._, .f_, .ld, .memia(.src1t, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 33015 | .{ ._, .f_p, .div, ._, ._, ._, ._ }, |
| 33016 | .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 33017 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 33018 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 33019 | } }, |
| 33020 | }, .{ |
| 33021 | .required_features = .{ .sse, null, null, null }, |
| 33022 | .src_constraints = .{ |
| 33023 | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, |
| 33024 | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, |
| 33025 | .any, |
| 33026 | }, |
| 33027 | .patterns = &.{ |
| 33028 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, |
| 33029 | }, |
| 33030 | .call_frame = .{ .alignment = .@"16" }, |
| 33031 | .extra_temps = .{ |
| 33032 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } }, |
| 33033 | .unused, |
| 33034 | .unused, |
| 33035 | .unused, |
| 33036 | .unused, |
| 33037 | .unused, |
| 33038 | .unused, |
| 33039 | .unused, |
| 33040 | .unused, |
| 33041 | .unused, |
| 33042 | .unused, |
| 33043 | }, |
| 33044 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 33045 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 33046 | .each = .{ .once = &.{ |
| 33047 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 33048 | } }, |
| 33049 | }, .{ |
| 33050 | .required_features = .{ .avx, null, null, null }, |
| 33051 | .src_constraints = .{ |
| 33052 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, |
| 33053 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, |
| 33054 | .any, |
| 33055 | }, |
| 33056 | .patterns = &.{ |
| 33057 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 33058 | }, |
| 33059 | .call_frame = .{ .alignment = .@"16" }, |
| 33060 | .extra_temps = .{ |
| 33061 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 33062 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, |
| 33063 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| 33064 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } }, |
| 33065 | .unused, |
| 33066 | .unused, |
| 33067 | .unused, |
| 33068 | .unused, |
| 33069 | .unused, |
| 33070 | .unused, |
| 33071 | .unused, |
| 33072 | }, |
| 33073 | .dst_temps = .{ .mem, .unused }, |
| 33074 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 33075 | .each = .{ .once = &.{ |
| 33076 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 33077 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 33078 | .{ ._, .v_dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 33079 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 33080 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| 33081 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 33082 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 33083 | } }, |
| 33084 | }, .{ |
| 33085 | .required_features = .{ .sse2, null, null, null }, |
| 33086 | .src_constraints = .{ |
| 33087 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, |
| 33088 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, |
| 33089 | .any, |
| 33090 | }, |
| 33091 | .patterns = &.{ |
| 33092 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 33093 | }, |
| 33094 | .call_frame = .{ .alignment = .@"16" }, |
| 27878 | 33095 | .extra_temps = .{ |
| 27879 | 33096 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 27880 | 33097 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, |
| ... | ... | @@ -31476,7 +36693,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 31476 | 36693 | }, |
| 31477 | 36694 | .extra_temps = .{ |
| 31478 | 36695 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 31479 | | .{ .type = .i8, .kind = .{ .reg = .ah } }, |
| 36696 | .{ .type = .i16, .kind = .{ .reg = .ax } }, |
| 31480 | 36697 | .unused, |
| 31481 | 36698 | .unused, |
| 31482 | 36699 | .unused, |
| ... | ... | @@ -31493,7 +36710,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 31493 | 36710 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 31494 | 36711 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 31495 | 36712 | .{ ._, .i_, .div, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 31496 | | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ }, |
| 36713 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1h, ._, ._ }, |
| 31497 | 36714 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, |
| 31498 | 36715 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 31499 | 36716 | } }, |
| ... | ... | @@ -31508,7 +36725,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 31508 | 36725 | }, |
| 31509 | 36726 | .extra_temps = .{ |
| 31510 | 36727 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 31511 | | .{ .type = .i8, .kind = .{ .reg = .ah } }, |
| 36728 | .{ .type = .i16, .kind = .{ .reg = .ax } }, |
| 31512 | 36729 | .unused, |
| 31513 | 36730 | .unused, |
| 31514 | 36731 | .unused, |
| ... | ... | @@ -31525,7 +36742,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 31525 | 36742 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 31526 | 36743 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 31527 | 36744 | .{ ._, .i_, .div, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 31528 | | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ }, |
| 36745 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1h, ._, ._ }, |
| 31529 | 36746 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, |
| 31530 | 36747 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 31531 | 36748 | } }, |
| ... | ... | @@ -31541,7 +36758,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 31541 | 36758 | }, |
| 31542 | 36759 | .extra_temps = .{ |
| 31543 | 36760 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 31544 | | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 36761 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| 31545 | 36762 | .unused, |
| 31546 | 36763 | .unused, |
| 31547 | 36764 | .unused, |
| ... | ... | @@ -31558,7 +36775,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 31558 | 36775 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 31559 | 36776 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 31560 | 36777 | .{ ._, ._, .div, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 31561 | | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ }, |
| 36778 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1h, ._, ._ }, |
| 31562 | 36779 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, |
| 31563 | 36780 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 31564 | 36781 | } }, |
| ... | ... | @@ -31573,7 +36790,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 31573 | 36790 | }, |
| 31574 | 36791 | .extra_temps = .{ |
| 31575 | 36792 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 31576 | | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 36793 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| 31577 | 36794 | .unused, |
| 31578 | 36795 | .unused, |
| 31579 | 36796 | .unused, |
| ... | ... | @@ -31590,7 +36807,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 31590 | 36807 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 31591 | 36808 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 31592 | 36809 | .{ ._, ._, .div, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 31593 | | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ }, |
| 36810 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1h, ._, ._ }, |
| 31594 | 36811 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, |
| 31595 | 36812 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 31596 | 36813 | } }, |
| ... | ... | @@ -38951,7 +44168,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 38951 | 44168 | }, |
| 38952 | 44169 | .extra_temps = .{ |
| 38953 | 44170 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 38954 | | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 44171 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| 38955 | 44172 | .unused, |
| 38956 | 44173 | .unused, |
| 38957 | 44174 | .unused, |
| ... | ... | @@ -38994,7 +44211,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 38994 | 44211 | }, |
| 38995 | 44212 | .extra_temps = .{ |
| 38996 | 44213 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 38997 | | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 44214 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| 38998 | 44215 | .unused, |
| 38999 | 44216 | .unused, |
| 39000 | 44217 | .unused, |
| ... | ... | @@ -39011,13 +44228,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39011 | 44228 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| 39012 | 44229 | .{ ._, .f_, .xam, ._, ._, ._, ._ }, |
| 39013 | 44230 | .{ ._, .fn_sw, .st, .tmp1w, ._, ._, ._ }, |
| 39014 | | .{ ._, ._, .@"test", .tmp1b, .si(0b1_000_100), ._, ._ }, |
| 44231 | .{ ._, ._, .@"test", .tmp1h, .si(0b1_000_100), ._, ._ }, |
| 39015 | 44232 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 39016 | 44233 | .{ ._, .f_, .xch, .src1t, ._, ._, ._ }, |
| 39017 | 44234 | .{ ._, .f_, .ucom, .src1t, ._, ._, ._ }, |
| 39018 | 44235 | .{ ._, .fn_sw, .st, .tmp1w, ._, ._, ._ }, |
| 39019 | 44236 | .{ ._, .f_, .xch, .src1t, ._, ._, ._ }, |
| 39020 | | .{ ._, ._, .@"test", .tmp1b, .si(0b0_000_001), ._, ._ }, |
| 44237 | .{ ._, ._, .@"test", .tmp1h, .si(0b0_000_001), ._, ._ }, |
| 39021 | 44238 | .{ ._, ._nz, .j, .@"1f", ._, ._, ._ }, |
| 39022 | 44239 | .{ .@"0:", .f_p, .st, .tmp0t, ._, ._, ._ }, |
| 39023 | 44240 | .{ ._, .f_, .ld, .src1t, ._, ._, ._ }, |
| ... | ... | @@ -39077,7 +44294,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39077 | 44294 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 39078 | 44295 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 39079 | 44296 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 39080 | | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 44297 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| 39081 | 44298 | .unused, |
| 39082 | 44299 | .unused, |
| 39083 | 44300 | .unused, |
| ... | ... | @@ -39123,7 +44340,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39123 | 44340 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 39124 | 44341 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 39125 | 44342 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 39126 | | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 44343 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| 39127 | 44344 | .unused, |
| 39128 | 44345 | .unused, |
| 39129 | 44346 | .unused, |
| ... | ... | @@ -39140,13 +44357,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39140 | 44357 | .{ ._, .f_, .ld, .memia(.src0t, .tmp0, .add_size), ._, ._, ._ }, |
| 39141 | 44358 | .{ ._, .f_, .xam, ._, ._, ._, ._ }, |
| 39142 | 44359 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| 39143 | | .{ ._, ._, .@"test", .tmp3b, .si(0b1_000_100), ._, ._ }, |
| 44360 | .{ ._, ._, .@"test", .tmp3h, .si(0b1_000_100), ._, ._ }, |
| 39144 | 44361 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 39145 | 44362 | .{ ._, .f_, .xch, .tmp2t, ._, ._, ._ }, |
| 39146 | 44363 | .{ ._, .f_, .ucom, .tmp2t, ._, ._, ._ }, |
| 39147 | 44364 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| 39148 | 44365 | .{ ._, .f_, .xch, .tmp2t, ._, ._, ._ }, |
| 39149 | | .{ ._, ._, .@"test", .tmp3b, .si(0b0_000_001), ._, ._ }, |
| 44366 | .{ ._, ._, .@"test", .tmp3h, .si(0b0_000_001), ._, ._ }, |
| 39150 | 44367 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 39151 | 44368 | .{ .@"1:", .f_p, .st, .tmp1t, ._, ._, ._ }, |
| 39152 | 44369 | .{ ._, .f_, .ld, .tmp2t, ._, ._, ._ }, |
| ... | ... | @@ -43108,7 +48325,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 43108 | 48325 | }, |
| 43109 | 48326 | .extra_temps = .{ |
| 43110 | 48327 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 43111 | | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 48328 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| 43112 | 48329 | .unused, |
| 43113 | 48330 | .unused, |
| 43114 | 48331 | .unused, |
| ... | ... | @@ -43149,7 +48366,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 43149 | 48366 | }, |
| 43150 | 48367 | .extra_temps = .{ |
| 43151 | 48368 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 43152 | | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 48369 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| 43153 | 48370 | .unused, |
| 43154 | 48371 | .unused, |
| 43155 | 48372 | .unused, |
| ... | ... | @@ -43166,11 +48383,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 43166 | 48383 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| 43167 | 48384 | .{ ._, .f_, .xam, ._, ._, ._, ._ }, |
| 43168 | 48385 | .{ ._, .fn_sw, .st, .tmp1w, ._, ._, ._ }, |
| 43169 | | .{ ._, ._, .@"test", .tmp1b, .si(0b1_000_100), ._, ._ }, |
| 48386 | .{ ._, ._, .@"test", .tmp1h, .si(0b1_000_100), ._, ._ }, |
| 43170 | 48387 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 43171 | 48388 | .{ ._, .f_, .ucom, .src1t, ._, ._, ._ }, |
| 43172 | 48389 | .{ ._, .fn_sw, .st, .tmp1w, ._, ._, ._ }, |
| 43173 | | .{ ._, ._, .@"test", .tmp1b, .si(0b0_000_001), ._, ._ }, |
| 48390 | .{ ._, ._, .@"test", .tmp1h, .si(0b0_000_001), ._, ._ }, |
| 43174 | 48391 | .{ ._, ._nz, .j, .@"1f", ._, ._, ._ }, |
| 43175 | 48392 | .{ .@"0:", .f_p, .st, .tmp0t, ._, ._, ._ }, |
| 43176 | 48393 | .{ ._, .f_, .ld, .src1t, ._, ._, ._ }, |
| ... | ... | @@ -43228,7 +48445,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 43228 | 48445 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 43229 | 48446 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 43230 | 48447 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 43231 | | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 48448 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| 43232 | 48449 | .unused, |
| 43233 | 48450 | .unused, |
| 43234 | 48451 | .unused, |
| ... | ... | @@ -43272,7 +48489,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 43272 | 48489 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 43273 | 48490 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 43274 | 48491 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 43275 | | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 48492 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| 43276 | 48493 | .unused, |
| 43277 | 48494 | .unused, |
| 43278 | 48495 | .unused, |
| ... | ... | @@ -43289,11 +48506,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 43289 | 48506 | .{ ._, .f_, .ld, .memia(.src0t, .tmp0, .add_size), ._, ._, ._ }, |
| 43290 | 48507 | .{ ._, .f_, .xam, ._, ._, ._, ._ }, |
| 43291 | 48508 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| 43292 | | .{ ._, ._, .@"test", .tmp3b, .si(0b1_000_100), ._, ._ }, |
| 48509 | .{ ._, ._, .@"test", .tmp3h, .si(0b1_000_100), ._, ._ }, |
| 43293 | 48510 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 43294 | 48511 | .{ ._, .f_, .ucom, .tmp2t, ._, ._, ._ }, |
| 43295 | 48512 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| 43296 | | .{ ._, ._, .@"test", .tmp3b, .si(0b0_000_001), ._, ._ }, |
| 48513 | .{ ._, ._, .@"test", .tmp3h, .si(0b0_000_001), ._, ._ }, |
| 43297 | 48514 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 43298 | 48515 | .{ .@"1:", .f_p, .st, .tmp1t, ._, ._, ._ }, |
| 43299 | 48516 | .{ ._, .f_, .ld, .tmp2t, ._, ._, ._ }, |
| ... | ... | @@ -43897,8 +49114,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 43897 | 49114 | }, .{ |
| 43898 | 49115 | .required_features = .{ .@"64bit", null, null, null }, |
| 43899 | 49116 | .src_constraints = .{ |
| 43900 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 43901 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 49117 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, |
| 49118 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, |
| 43902 | 49119 | .any, |
| 43903 | 49120 | }, |
| 43904 | 49121 | .patterns = &.{ |
| ... | ... | @@ -43937,8 +49154,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 43937 | 49154 | }, .{ |
| 43938 | 49155 | .required_features = .{ .@"64bit", null, null, null }, |
| 43939 | 49156 | .src_constraints = .{ |
| 43940 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 43941 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 49157 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 49158 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 43942 | 49159 | .any, |
| 43943 | 49160 | }, |
| 43944 | 49161 | .patterns = &.{ |
| ... | ... | @@ -43972,8 +49189,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 43972 | 49189 | }, .{ |
| 43973 | 49190 | .required_features = .{ .@"64bit", null, null, null }, |
| 43974 | 49191 | .src_constraints = .{ |
| 43975 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 43976 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 49192 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } }, |
| 49193 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } }, |
| 43977 | 49194 | .any, |
| 43978 | 49195 | }, |
| 43979 | 49196 | .patterns = &.{ |
| ... | ... | @@ -44009,8 +49226,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 44009 | 49226 | }, .{ |
| 44010 | 49227 | .required_features = .{ .@"64bit", null, null, null }, |
| 44011 | 49228 | .src_constraints = .{ |
| 44012 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 44013 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 49229 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } }, |
| 49230 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } }, |
| 44014 | 49231 | .any, |
| 44015 | 49232 | }, |
| 44016 | 49233 | .patterns = &.{ |
| ... | ... | @@ -44803,8 +50020,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 44803 | 50020 | }, .{ |
| 44804 | 50021 | .required_features = .{ .@"64bit", null, null, null }, |
| 44805 | 50022 | .src_constraints = .{ |
| 44806 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 44807 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 50023 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, |
| 50024 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, |
| 44808 | 50025 | .any, |
| 44809 | 50026 | }, |
| 44810 | 50027 | .patterns = &.{ |
| ... | ... | @@ -44843,8 +50060,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 44843 | 50060 | }, .{ |
| 44844 | 50061 | .required_features = .{ .@"64bit", null, null, null }, |
| 44845 | 50062 | .src_constraints = .{ |
| 44846 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 44847 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 50063 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 50064 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 44848 | 50065 | .any, |
| 44849 | 50066 | }, |
| 44850 | 50067 | .patterns = &.{ |
| ... | ... | @@ -44878,8 +50095,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 44878 | 50095 | }, .{ |
| 44879 | 50096 | .required_features = .{ .@"64bit", null, null, null }, |
| 44880 | 50097 | .src_constraints = .{ |
| 44881 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 44882 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 50098 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } }, |
| 50099 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } }, |
| 44883 | 50100 | .any, |
| 44884 | 50101 | }, |
| 44885 | 50102 | .patterns = &.{ |
| ... | ... | @@ -44915,8 +50132,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 44915 | 50132 | }, .{ |
| 44916 | 50133 | .required_features = .{ .@"64bit", null, null, null }, |
| 44917 | 50134 | .src_constraints = .{ |
| 44918 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 44919 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 50135 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } }, |
| 50136 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } }, |
| 44920 | 50137 | .any, |
| 44921 | 50138 | }, |
| 44922 | 50139 | .patterns = &.{ |
| ... | ... | @@ -45271,7 +50488,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 45271 | 50488 | .{ .src = .{ .{ .to_reg = .al }, .to_gpr, .none } }, |
| 45272 | 50489 | }, |
| 45273 | 50490 | .extra_temps = .{ |
| 45274 | | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 50491 | .{ .type = .u16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| 45275 | 50492 | .unused, |
| 45276 | 50493 | .unused, |
| 45277 | 50494 | .unused, |
| ... | ... | @@ -45401,7 +50618,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 45401 | 50618 | .{ ._, ._, .mul, .src1w, ._, ._, ._ }, |
| 45402 | 50619 | .{ ._, ._, .mov, .tmp1d, .dst0d, ._, ._ }, |
| 45403 | 50620 | .{ ._, ._, .@"and", .dst0w, .ua(.src0, .add_umax), ._, ._ }, |
| 45404 | | .{ ._, ._, .@"and", .tmp1w, .uia(std.math.maxInt(u16), .src0, .sub_umax), ._, ._ }, |
| 50621 | .{ ._, ._, .@"and", .tmp1w, .sa(.src0, .add_2_smin), ._, ._ }, |
| 45405 | 50622 | .{ ._, ._, .@"or", .tmp1w, .tmp0w, ._, ._ }, |
| 45406 | 50623 | } }, |
| 45407 | 50624 | }, .{ |
| ... | ... | @@ -45692,8 +50909,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 45692 | 50909 | }, .{ |
| 45693 | 50910 | .required_features = .{ .@"64bit", .cmov, .slow_incdec, null }, |
| 45694 | 50911 | .src_constraints = .{ |
| 45695 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 45696 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 50912 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } }, |
| 50913 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } }, |
| 45697 | 50914 | .any, |
| 45698 | 50915 | }, |
| 45699 | 50916 | .patterns = &.{ |
| ... | ... | @@ -45803,8 +51020,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 45803 | 51020 | }, .{ |
| 45804 | 51021 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| 45805 | 51022 | .src_constraints = .{ |
| 45806 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 45807 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 51023 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } }, |
| 51024 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } }, |
| 45808 | 51025 | .any, |
| 45809 | 51026 | }, |
| 45810 | 51027 | .patterns = &.{ |
| ... | ... | @@ -45914,8 +51131,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 45914 | 51131 | }, .{ |
| 45915 | 51132 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 45916 | 51133 | .src_constraints = .{ |
| 45917 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 45918 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 51134 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } }, |
| 51135 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } }, |
| 45919 | 51136 | .any, |
| 45920 | 51137 | }, |
| 45921 | 51138 | .patterns = &.{ |
| ... | ... | @@ -46025,353 +51242,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 46025 | 51242 | }, .{ |
| 46026 | 51243 | .required_features = .{ .@"64bit", null, null, null }, |
| 46027 | 51244 | .src_constraints = .{ |
| 46028 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 46029 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 46030 | | .any, |
| 46031 | | }, |
| 46032 | | .patterns = &.{ |
| 46033 | | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 46034 | | }, |
| 46035 | | .extra_temps = .{ |
| 46036 | | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 46037 | | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 46038 | | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 46039 | | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 46040 | | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 46041 | | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 46042 | | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 46043 | | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 46044 | | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 46045 | | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 46046 | | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 46047 | | }, |
| 46048 | | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| 46049 | | .clobbers = .{ .eflags = true }, |
| 46050 | | .each = .{ .once = &.{ |
| 46051 | | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 46052 | | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 46053 | | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 46054 | | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 46055 | | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 46056 | | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| 46057 | | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| 46058 | | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 46059 | | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 46060 | | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 46061 | | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| 46062 | | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| 46063 | | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 46064 | | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| 46065 | | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 46066 | | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), ._, ._ }, |
| 46067 | | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| 46068 | | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| 46069 | | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 46070 | | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| 46071 | | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| 46072 | | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| 46073 | | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| 46074 | | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), .tmp9q, ._, ._ }, |
| 46075 | | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 46076 | | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 46077 | | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| 46078 | | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| 46079 | | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 46080 | | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 46081 | | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| 46082 | | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| 46083 | | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| 46084 | | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 46085 | | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 46086 | | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 46087 | | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 46088 | | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 46089 | | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 46090 | | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| 46091 | | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 46092 | | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 46093 | | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| 46094 | | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| 46095 | | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| 46096 | | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 46097 | | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 46098 | | .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ }, |
| 46099 | | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 46100 | | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| 46101 | | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 46102 | | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| 46103 | | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 46104 | | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| 46105 | | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 46106 | | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 46107 | | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 46108 | | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| 46109 | | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 46110 | | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| 46111 | | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 46112 | | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 46113 | | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 46114 | | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| 46115 | | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| 46116 | | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 46117 | | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 46118 | | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 46119 | | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 46120 | | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| 46121 | | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 46122 | | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 46123 | | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 46124 | | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 46125 | | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| 46126 | | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 46127 | | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 46128 | | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 46129 | | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 46130 | | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| 46131 | | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| 46132 | | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 46133 | | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| 46134 | | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| 46135 | | } }, |
| 46136 | | }, .{ |
| 46137 | | .required_features = .{ .@"64bit", .cmov, .slow_incdec, null }, |
| 46138 | | .src_constraints = .{ |
| 46139 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 46140 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 46141 | | .any, |
| 46142 | | }, |
| 46143 | | .patterns = &.{ |
| 46144 | | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 46145 | | }, |
| 46146 | | .extra_temps = .{ |
| 46147 | | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 46148 | | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 46149 | | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 46150 | | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 46151 | | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 46152 | | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 46153 | | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 46154 | | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 46155 | | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 46156 | | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 46157 | | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 46158 | | }, |
| 46159 | | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| 46160 | | .clobbers = .{ .eflags = true }, |
| 46161 | | .each = .{ .once = &.{ |
| 46162 | | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 46163 | | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 46164 | | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 46165 | | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 46166 | | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 46167 | | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| 46168 | | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| 46169 | | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 46170 | | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 46171 | | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 46172 | | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| 46173 | | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| 46174 | | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 46175 | | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| 46176 | | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 46177 | | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), ._, ._ }, |
| 46178 | | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| 46179 | | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| 46180 | | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 46181 | | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| 46182 | | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| 46183 | | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| 46184 | | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| 46185 | | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), .tmp9q, ._, ._ }, |
| 46186 | | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 46187 | | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 46188 | | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| 46189 | | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| 46190 | | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 46191 | | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 46192 | | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| 46193 | | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| 46194 | | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| 46195 | | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 46196 | | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 46197 | | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 46198 | | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 46199 | | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 46200 | | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 46201 | | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| 46202 | | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 46203 | | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 46204 | | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| 46205 | | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| 46206 | | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| 46207 | | .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ }, |
| 46208 | | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 46209 | | .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ }, |
| 46210 | | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 46211 | | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| 46212 | | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 46213 | | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| 46214 | | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 46215 | | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| 46216 | | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 46217 | | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 46218 | | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 46219 | | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| 46220 | | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 46221 | | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| 46222 | | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 46223 | | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 46224 | | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 46225 | | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| 46226 | | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| 46227 | | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 46228 | | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 46229 | | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 46230 | | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 46231 | | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| 46232 | | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 46233 | | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 46234 | | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 46235 | | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 46236 | | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| 46237 | | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 46238 | | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 46239 | | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 46240 | | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 46241 | | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| 46242 | | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| 46243 | | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 46244 | | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| 46245 | | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| 46246 | | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_src0_size, -16), ._, ._ }, |
| 46247 | | .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ }, |
| 46248 | | .{ ._, ._, .mov, .tmp1q, .tmp0q, ._, ._ }, |
| 46249 | | .{ ._, ._, .xor, .tmp1q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| 46250 | | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp0q, ._, ._ }, |
| 46251 | | .{ ._, ._, .@"or", .tmp4q, .tmp1q, ._, ._ }, |
| 46252 | | } }, |
| 46253 | | }, .{ |
| 46254 | | .required_features = .{ .@"64bit", .cmov, null, null }, |
| 46255 | | .src_constraints = .{ |
| 46256 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 46257 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 46258 | | .any, |
| 46259 | | }, |
| 46260 | | .patterns = &.{ |
| 46261 | | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 46262 | | }, |
| 46263 | | .extra_temps = .{ |
| 46264 | | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 46265 | | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 46266 | | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 46267 | | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 46268 | | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 46269 | | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 46270 | | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 46271 | | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 46272 | | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 46273 | | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 46274 | | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 46275 | | }, |
| 46276 | | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| 46277 | | .clobbers = .{ .eflags = true }, |
| 46278 | | .each = .{ .once = &.{ |
| 46279 | | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 46280 | | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 46281 | | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 46282 | | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 46283 | | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 46284 | | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| 46285 | | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| 46286 | | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 46287 | | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 46288 | | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 46289 | | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| 46290 | | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| 46291 | | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 46292 | | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| 46293 | | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 46294 | | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), ._, ._ }, |
| 46295 | | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| 46296 | | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| 46297 | | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 46298 | | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| 46299 | | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| 46300 | | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| 46301 | | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| 46302 | | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), .tmp9q, ._, ._ }, |
| 46303 | | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 46304 | | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 46305 | | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| 46306 | | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| 46307 | | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 46308 | | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 46309 | | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| 46310 | | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| 46311 | | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| 46312 | | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 46313 | | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 46314 | | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 46315 | | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 46316 | | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 46317 | | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 46318 | | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| 46319 | | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 46320 | | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 46321 | | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| 46322 | | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| 46323 | | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| 46324 | | .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ }, |
| 46325 | | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 46326 | | .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ }, |
| 46327 | | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 46328 | | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| 46329 | | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 46330 | | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| 46331 | | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 46332 | | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| 46333 | | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 46334 | | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 46335 | | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 46336 | | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| 46337 | | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 46338 | | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| 46339 | | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 46340 | | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 46341 | | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 46342 | | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| 46343 | | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| 46344 | | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 46345 | | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 46346 | | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 46347 | | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 46348 | | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| 46349 | | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 46350 | | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 46351 | | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 46352 | | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 46353 | | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| 46354 | | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 46355 | | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 46356 | | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 46357 | | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 46358 | | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| 46359 | | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| 46360 | | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 46361 | | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| 46362 | | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| 46363 | | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_src0_size, -16), ._, ._ }, |
| 46364 | | .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ }, |
| 46365 | | .{ ._, ._, .mov, .tmp1q, .tmp0q, ._, ._ }, |
| 46366 | | .{ ._, ._, .xor, .tmp1q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| 46367 | | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp0q, ._, ._ }, |
| 46368 | | .{ ._, ._, .@"or", .tmp4q, .tmp1q, ._, ._ }, |
| 46369 | | } }, |
| 46370 | | }, .{ |
| 46371 | | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 46372 | | .src_constraints = .{ |
| 46373 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 46374 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 51245 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } }, |
| 51246 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } }, |
| 46375 | 51247 | .any, |
| 46376 | 51248 | }, |
| 46377 | 51249 | .patterns = &.{ |
| ... | ... | @@ -46429,6 +51301,345 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 46429 | 51301 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 46430 | 51302 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 46431 | 51303 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 51304 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 51305 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 51306 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 51307 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| 51308 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 51309 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 51310 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| 51311 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| 51312 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| 51313 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 51314 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 51315 | .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ }, |
| 51316 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 51317 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| 51318 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 51319 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| 51320 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 51321 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| 51322 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 51323 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 51324 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 51325 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| 51326 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 51327 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| 51328 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 51329 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 51330 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 51331 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| 51332 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| 51333 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 51334 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 51335 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 51336 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 51337 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| 51338 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 51339 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 51340 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 51341 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 51342 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| 51343 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 51344 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 51345 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 51346 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 51347 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| 51348 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| 51349 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 51350 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| 51351 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| 51352 | } }, |
| 51353 | }, .{ |
| 51354 | .required_features = .{ .@"64bit", .cmov, .slow_incdec, null }, |
| 51355 | .src_constraints = .{ |
| 51356 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, |
| 51357 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, |
| 51358 | .any, |
| 51359 | }, |
| 51360 | .patterns = &.{ |
| 51361 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 51362 | }, |
| 51363 | .extra_temps = .{ |
| 51364 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 51365 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 51366 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 51367 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 51368 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 51369 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 51370 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 51371 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 51372 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 51373 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 51374 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 51375 | }, |
| 51376 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| 51377 | .clobbers = .{ .eflags = true }, |
| 51378 | .each = .{ .once = &.{ |
| 51379 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 51380 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 51381 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 51382 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 51383 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 51384 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 51385 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 51386 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 51387 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| 51388 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| 51389 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 51390 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| 51391 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 51392 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), ._, ._ }, |
| 51393 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| 51394 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| 51395 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 51396 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| 51397 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| 51398 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| 51399 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| 51400 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), .tmp9q, ._, ._ }, |
| 51401 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 51402 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 51403 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| 51404 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| 51405 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 51406 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 51407 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| 51408 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| 51409 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| 51410 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 51411 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 51412 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 51413 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 51414 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 51415 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 51416 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| 51417 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 51418 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 51419 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| 51420 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| 51421 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| 51422 | .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ }, |
| 51423 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 51424 | .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ }, |
| 51425 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 51426 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| 51427 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 51428 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| 51429 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 51430 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| 51431 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 51432 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 51433 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 51434 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| 51435 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 51436 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| 51437 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 51438 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 51439 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 51440 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| 51441 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| 51442 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 51443 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 51444 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 51445 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 51446 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| 51447 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 51448 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 51449 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 51450 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 51451 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| 51452 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 51453 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 51454 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 51455 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 51456 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| 51457 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| 51458 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 51459 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| 51460 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| 51461 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_src0_size, -16), ._, ._ }, |
| 51462 | .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ }, |
| 51463 | .{ ._, ._, .mov, .tmp1q, .tmp0q, ._, ._ }, |
| 51464 | .{ ._, ._, .xor, .tmp1q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| 51465 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp0q, ._, ._ }, |
| 51466 | .{ ._, ._, .@"or", .tmp4q, .tmp1q, ._, ._ }, |
| 51467 | } }, |
| 51468 | }, .{ |
| 51469 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| 51470 | .src_constraints = .{ |
| 51471 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, |
| 51472 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, |
| 51473 | .any, |
| 51474 | }, |
| 51475 | .patterns = &.{ |
| 51476 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 51477 | }, |
| 51478 | .extra_temps = .{ |
| 51479 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 51480 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 51481 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 51482 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 51483 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 51484 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 51485 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 51486 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 51487 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 51488 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 51489 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 51490 | }, |
| 51491 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| 51492 | .clobbers = .{ .eflags = true }, |
| 51493 | .each = .{ .once = &.{ |
| 51494 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 51495 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 51496 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 51497 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 51498 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 51499 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 51500 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 51501 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 51502 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| 51503 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| 51504 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 51505 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| 51506 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 51507 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), ._, ._ }, |
| 51508 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| 51509 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| 51510 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 51511 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| 51512 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| 51513 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| 51514 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| 51515 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), .tmp9q, ._, ._ }, |
| 51516 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 51517 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 51518 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| 51519 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| 51520 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 51521 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 51522 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| 51523 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| 51524 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| 51525 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 51526 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 51527 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 51528 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 51529 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 51530 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 51531 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| 51532 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| 51533 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 51534 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| 51535 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| 51536 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| 51537 | .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ }, |
| 51538 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 51539 | .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ }, |
| 51540 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 51541 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| 51542 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 51543 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| 51544 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 51545 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| 51546 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 51547 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 51548 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| 51549 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| 51550 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 51551 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| 51552 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 51553 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| 51554 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 51555 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| 51556 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| 51557 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 51558 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| 51559 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 51560 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| 51561 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| 51562 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| 51563 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 51564 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| 51565 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 51566 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| 51567 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 51568 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 51569 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| 51570 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 51571 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| 51572 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| 51573 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| 51574 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| 51575 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| 51576 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_src0_size, -16), ._, ._ }, |
| 51577 | .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ }, |
| 51578 | .{ ._, ._, .mov, .tmp1q, .tmp0q, ._, ._ }, |
| 51579 | .{ ._, ._, .xor, .tmp1q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| 51580 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp0q, ._, ._ }, |
| 51581 | .{ ._, ._, .@"or", .tmp4q, .tmp1q, ._, ._ }, |
| 51582 | } }, |
| 51583 | }, .{ |
| 51584 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 51585 | .src_constraints = .{ |
| 51586 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, |
| 51587 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, |
| 51588 | .any, |
| 51589 | }, |
| 51590 | .patterns = &.{ |
| 51591 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 51592 | }, |
| 51593 | .extra_temps = .{ |
| 51594 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 51595 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 51596 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 51597 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 51598 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 51599 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 51600 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 51601 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 51602 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 51603 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 51604 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 51605 | }, |
| 51606 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| 51607 | .clobbers = .{ .eflags = true }, |
| 51608 | .each = .{ .once = &.{ |
| 51609 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 51610 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 51611 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 51612 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 51613 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 51614 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 51615 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 51616 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| 51617 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| 51618 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| 51619 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| 51620 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| 51621 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| 51622 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), ._, ._ }, |
| 51623 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| 51624 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| 51625 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 51626 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| 51627 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| 51628 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| 51629 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| 51630 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), .tmp9q, ._, ._ }, |
| 51631 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| 51632 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 51633 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| 51634 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| 51635 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| 51636 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| 51637 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| 51638 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| 51639 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| 51640 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| 51641 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| 51642 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| 46432 | 51643 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 46433 | 51644 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 46434 | 51645 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| ... | ... | @@ -46487,8 +51698,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 46487 | 51698 | }, .{ |
| 46488 | 51699 | .required_features = .{ .@"64bit", null, null, null }, |
| 46489 | 51700 | .src_constraints = .{ |
| 46490 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 46491 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 51701 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, |
| 51702 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, |
| 46492 | 51703 | .any, |
| 46493 | 51704 | }, |
| 46494 | 51705 | .patterns = &.{ |
| ... | ... | @@ -46515,8 +51726,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 46515 | 51726 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 46516 | 51727 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 46517 | 51728 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 46518 | | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| 46519 | | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| 46520 | 51729 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 46521 | 51730 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 46522 | 51731 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| ... | ... | @@ -46632,8 +51841,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 46632 | 51841 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 46633 | 51842 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 46634 | 51843 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 46635 | | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| 46636 | | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| 46637 | 51844 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 46638 | 51845 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 46639 | 51846 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| ... | ... | @@ -46755,8 +51962,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 46755 | 51962 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 46756 | 51963 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 46757 | 51964 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 46758 | | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| 46759 | | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| 46760 | 51965 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 46761 | 51966 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 46762 | 51967 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| ... | ... | @@ -46878,8 +52083,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 46878 | 52083 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 46879 | 52084 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 46880 | 52085 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 46881 | | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| 46882 | | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| 46883 | 52086 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 46884 | 52087 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 46885 | 52088 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| ... | ... | @@ -47001,8 +52204,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 47001 | 52204 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| 47002 | 52205 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 47003 | 52206 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 47004 | | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| 47005 | | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| 47006 | 52207 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 47007 | 52208 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 47008 | 52209 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| ... | ... | @@ -47568,8 +52769,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 47568 | 52769 | }, .{ |
| 47569 | 52770 | .required_features = .{ .@"64bit", .bmi2, .adx, null }, |
| 47570 | 52771 | .src_constraints = .{ |
| 47571 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 47572 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 52772 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } }, |
| 52773 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } }, |
| 47573 | 52774 | .any, |
| 47574 | 52775 | }, |
| 47575 | 52776 | .patterns = &.{ |
| ... | ... | @@ -47626,8 +52827,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 47626 | 52827 | }, .{ |
| 47627 | 52828 | .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null }, |
| 47628 | 52829 | .src_constraints = .{ |
| 47629 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 47630 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 52830 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } }, |
| 52831 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } }, |
| 47631 | 52832 | .any, |
| 47632 | 52833 | }, |
| 47633 | 52834 | .patterns = &.{ |
| ... | ... | @@ -47685,8 +52886,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 47685 | 52886 | }, .{ |
| 47686 | 52887 | .required_features = .{ .@"64bit", .bmi2, null, null }, |
| 47687 | 52888 | .src_constraints = .{ |
| 47688 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 47689 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 52889 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } }, |
| 52890 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } }, |
| 47690 | 52891 | .any, |
| 47691 | 52892 | }, |
| 47692 | 52893 | .patterns = &.{ |
| ... | ... | @@ -47744,8 +52945,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 47744 | 52945 | }, .{ |
| 47745 | 52946 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 47746 | 52947 | .src_constraints = .{ |
| 47747 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 47748 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 52948 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } }, |
| 52949 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } }, |
| 47749 | 52950 | .any, |
| 47750 | 52951 | }, |
| 47751 | 52952 | .patterns = &.{ |
| ... | ... | @@ -47803,8 +53004,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 47803 | 53004 | }, .{ |
| 47804 | 53005 | .required_features = .{ .@"64bit", null, null, null }, |
| 47805 | 53006 | .src_constraints = .{ |
| 47806 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 47807 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 53007 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } }, |
| 53008 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } }, |
| 47808 | 53009 | .any, |
| 47809 | 53010 | }, |
| 47810 | 53011 | .patterns = &.{ |
| ... | ... | @@ -47862,8 +53063,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 47862 | 53063 | }, .{ |
| 47863 | 53064 | .required_features = .{ .@"64bit", .bmi2, .adx, null }, |
| 47864 | 53065 | .src_constraints = .{ |
| 47865 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 47866 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 53066 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 53067 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 47867 | 53068 | .any, |
| 47868 | 53069 | }, |
| 47869 | 53070 | .patterns = &.{ |
| ... | ... | @@ -47921,8 +53122,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 47921 | 53122 | }, .{ |
| 47922 | 53123 | .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null }, |
| 47923 | 53124 | .src_constraints = .{ |
| 47924 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 47925 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 53125 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 53126 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 47926 | 53127 | .any, |
| 47927 | 53128 | }, |
| 47928 | 53129 | .patterns = &.{ |
| ... | ... | @@ -47981,8 +53182,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 47981 | 53182 | }, .{ |
| 47982 | 53183 | .required_features = .{ .@"64bit", .bmi2, null, null }, |
| 47983 | 53184 | .src_constraints = .{ |
| 47984 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 47985 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 53185 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 53186 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 47986 | 53187 | .any, |
| 47987 | 53188 | }, |
| 47988 | 53189 | .patterns = &.{ |
| ... | ... | @@ -48041,8 +53242,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 48041 | 53242 | }, .{ |
| 48042 | 53243 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 48043 | 53244 | .src_constraints = .{ |
| 48044 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 48045 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 53245 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 53246 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 48046 | 53247 | .any, |
| 48047 | 53248 | }, |
| 48048 | 53249 | .patterns = &.{ |
| ... | ... | @@ -48101,8 +53302,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 48101 | 53302 | }, .{ |
| 48102 | 53303 | .required_features = .{ .@"64bit", null, null, null }, |
| 48103 | 53304 | .src_constraints = .{ |
| 48104 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 48105 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 53305 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 53306 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 48106 | 53307 | .any, |
| 48107 | 53308 | }, |
| 48108 | 53309 | .patterns = &.{ |
| ... | ... | @@ -49647,7 +54848,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 49647 | 54848 | }, .{ |
| 49648 | 54849 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 49649 | 54850 | .src_constraints = .{ |
| 49650 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 54851 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } }, |
| 49651 | 54852 | .{ .unsigned_int = .byte }, |
| 49652 | 54853 | .any, |
| 49653 | 54854 | }, |
| ... | ... | @@ -49711,7 +54912,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 49711 | 54912 | }, .{ |
| 49712 | 54913 | .required_features = .{ .@"64bit", null, null, null }, |
| 49713 | 54914 | .src_constraints = .{ |
| 49714 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 54915 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } }, |
| 49715 | 54916 | .{ .unsigned_int = .byte }, |
| 49716 | 54917 | .any, |
| 49717 | 54918 | }, |
| ... | ... | @@ -49775,7 +54976,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 49775 | 54976 | }, .{ |
| 49776 | 54977 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 49777 | 54978 | .src_constraints = .{ |
| 49778 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 54979 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } }, |
| 49779 | 54980 | .{ .unsigned_int = .word }, |
| 49780 | 54981 | .any, |
| 49781 | 54982 | }, |
| ... | ... | @@ -49839,7 +55040,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 49839 | 55040 | }, .{ |
| 49840 | 55041 | .required_features = .{ .@"64bit", null, null, null }, |
| 49841 | 55042 | .src_constraints = .{ |
| 49842 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| 55043 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 128 } }, |
| 49843 | 55044 | .{ .unsigned_int = .word }, |
| 49844 | 55045 | .any, |
| 49845 | 55046 | }, |
| ... | ... | @@ -49903,7 +55104,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 49903 | 55104 | }, .{ |
| 49904 | 55105 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 49905 | 55106 | .src_constraints = .{ |
| 49906 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 55107 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } }, |
| 49907 | 55108 | .{ .unsigned_int = .byte }, |
| 49908 | 55109 | .any, |
| 49909 | 55110 | }, |
| ... | ... | @@ -49959,7 +55160,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 49959 | 55160 | }, .{ |
| 49960 | 55161 | .required_features = .{ .@"64bit", null, null, null }, |
| 49961 | 55162 | .src_constraints = .{ |
| 49962 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 55163 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } }, |
| 49963 | 55164 | .{ .unsigned_int = .byte }, |
| 49964 | 55165 | .any, |
| 49965 | 55166 | }, |
| ... | ... | @@ -50015,7 +55216,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 50015 | 55216 | }, .{ |
| 50016 | 55217 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 50017 | 55218 | .src_constraints = .{ |
| 50018 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 55219 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } }, |
| 50019 | 55220 | .{ .unsigned_int = .word }, |
| 50020 | 55221 | .any, |
| 50021 | 55222 | }, |
| ... | ... | @@ -50071,7 +55272,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 50071 | 55272 | }, .{ |
| 50072 | 55273 | .required_features = .{ .@"64bit", null, null, null }, |
| 50073 | 55274 | .src_constraints = .{ |
| 50074 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 55275 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 128 } }, |
| 50075 | 55276 | .{ .unsigned_int = .word }, |
| 50076 | 55277 | .any, |
| 50077 | 55278 | }, |
| ... | ... | @@ -50127,7 +55328,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 50127 | 55328 | }, .{ |
| 50128 | 55329 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 50129 | 55330 | .src_constraints = .{ |
| 50130 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 55331 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, |
| 50131 | 55332 | .{ .unsigned_int = .byte }, |
| 50132 | 55333 | .any, |
| 50133 | 55334 | }, |
| ... | ... | @@ -50191,7 +55392,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 50191 | 55392 | }, .{ |
| 50192 | 55393 | .required_features = .{ .@"64bit", null, null, null }, |
| 50193 | 55394 | .src_constraints = .{ |
| 50194 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 55395 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, |
| 50195 | 55396 | .{ .unsigned_int = .byte }, |
| 50196 | 55397 | .any, |
| 50197 | 55398 | }, |
| ... | ... | @@ -50255,7 +55456,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 50255 | 55456 | }, .{ |
| 50256 | 55457 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 50257 | 55458 | .src_constraints = .{ |
| 50258 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 55459 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, |
| 50259 | 55460 | .{ .unsigned_int = .word }, |
| 50260 | 55461 | .any, |
| 50261 | 55462 | }, |
| ... | ... | @@ -50319,7 +55520,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 50319 | 55520 | }, .{ |
| 50320 | 55521 | .required_features = .{ .@"64bit", null, null, null }, |
| 50321 | 55522 | .src_constraints = .{ |
| 50322 | | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| 55523 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, |
| 50323 | 55524 | .{ .unsigned_int = .word }, |
| 50324 | 55525 | .any, |
| 50325 | 55526 | }, |
| ... | ... | @@ -50383,7 +55584,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 50383 | 55584 | }, .{ |
| 50384 | 55585 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 50385 | 55586 | .src_constraints = .{ |
| 50386 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 55587 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 50387 | 55588 | .{ .unsigned_int = .byte }, |
| 50388 | 55589 | .any, |
| 50389 | 55590 | }, |
| ... | ... | @@ -50440,7 +55641,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 50440 | 55641 | }, .{ |
| 50441 | 55642 | .required_features = .{ .@"64bit", null, null, null }, |
| 50442 | 55643 | .src_constraints = .{ |
| 50443 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 55644 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 50444 | 55645 | .{ .unsigned_int = .byte }, |
| 50445 | 55646 | .any, |
| 50446 | 55647 | }, |
| ... | ... | @@ -50497,7 +55698,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 50497 | 55698 | }, .{ |
| 50498 | 55699 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 50499 | 55700 | .src_constraints = .{ |
| 50500 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 55701 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 50501 | 55702 | .{ .unsigned_int = .word }, |
| 50502 | 55703 | .any, |
| 50503 | 55704 | }, |
| ... | ... | @@ -50554,7 +55755,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 50554 | 55755 | }, .{ |
| 50555 | 55756 | .required_features = .{ .@"64bit", null, null, null }, |
| 50556 | 55757 | .src_constraints = .{ |
| 50557 | | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| 55758 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 50558 | 55759 | .{ .unsigned_int = .word }, |
| 50559 | 55760 | .any, |
| 50560 | 55761 | }, |
| ... | ... | @@ -54031,7 +59232,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 54031 | 59232 | } }, |
| 54032 | 59233 | }, .{ |
| 54033 | 59234 | .required_features = .{ .@"64bit", null, null, null }, |
| 54034 | | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| 59235 | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = 32 } }, .any, .any }, |
| 54035 | 59236 | .patterns = &.{ |
| 54036 | 59237 | .{ .src = .{ .mut_mem, .none, .none } }, |
| 54037 | 59238 | }, |
| ... | ... | @@ -54060,7 +59261,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 54060 | 59261 | } }, |
| 54061 | 59262 | }, .{ |
| 54062 | 59263 | .required_features = .{ .@"64bit", null, null, null }, |
| 54063 | | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| 59264 | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = 32 } }, .any, .any }, |
| 54064 | 59265 | .patterns = &.{ |
| 54065 | 59266 | .{ .src = .{ .to_mem, .none, .none } }, |
| 54066 | 59267 | }, |
| ... | ... | @@ -54094,7 +59295,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 54094 | 59295 | } }, |
| 54095 | 59296 | }, .{ |
| 54096 | 59297 | .required_features = .{ .@"64bit", null, null, null }, |
| 54097 | | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 59298 | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .qword, .is = 64 } }, .any, .any }, |
| 54098 | 59299 | .patterns = &.{ |
| 54099 | 59300 | .{ .src = .{ .mut_mem, .none, .none } }, |
| 54100 | 59301 | }, |
| ... | ... | @@ -54123,7 +59324,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 54123 | 59324 | } }, |
| 54124 | 59325 | }, .{ |
| 54125 | 59326 | .required_features = .{ .@"64bit", null, null, null }, |
| 54126 | | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 59327 | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .qword, .is = 64 } }, .any, .any }, |
| 54127 | 59328 | .patterns = &.{ |
| 54128 | 59329 | .{ .src = .{ .to_mem, .none, .none } }, |
| 54129 | 59330 | }, |
| ... | ... | @@ -54153,7 +59354,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 54153 | 59354 | } }, |
| 54154 | 59355 | }, .{ |
| 54155 | 59356 | .required_features = .{ .@"64bit", null, null, null }, |
| 54156 | | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| 59357 | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .dword, .is = 32 } }, .any, .any }, |
| 54157 | 59358 | .patterns = &.{ |
| 54158 | 59359 | .{ .src = .{ .mut_mem, .none, .none } }, |
| 54159 | 59360 | }, |
| ... | ... | @@ -54181,7 +59382,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 54181 | 59382 | } }, |
| 54182 | 59383 | }, .{ |
| 54183 | 59384 | .required_features = .{ .@"64bit", null, null, null }, |
| 54184 | | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| 59385 | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .dword, .is = 32 } }, .any, .any }, |
| 54185 | 59386 | .patterns = &.{ |
| 54186 | 59387 | .{ .src = .{ .to_mem, .none, .none } }, |
| 54187 | 59388 | }, |
| ... | ... | @@ -55117,7 +60318,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 55117 | 60318 | .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ }, |
| 55118 | 60319 | .{ ._, ._, .@"and", .tmp0d, .sa(.src0, .add_umax), ._, ._ }, |
| 55119 | 60320 | .{ ._, ._r, .bs, .tmp0d, .tmp0d, ._, ._ }, |
| 55120 | | .{ ._, ._, .mov, .dst0d, .si(0xff), ._, ._ }, |
| 60321 | .{ ._, ._, .mov, .dst0d, .si(-1), ._, ._ }, |
| 55121 | 60322 | .{ ._, ._z, .cmov, .tmp0d, .dst0d, ._, ._ }, |
| 55122 | 60323 | .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ }, |
| 55123 | 60324 | .{ ._, ._, .sub, .dst0b, .tmp0b, ._, ._ }, |
| ... | ... | @@ -55147,7 +60348,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 55147 | 60348 | .each = .{ .once = &.{ |
| 55148 | 60349 | .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ }, |
| 55149 | 60350 | .{ ._, ._r, .bs, .tmp0d, .tmp0d, ._, ._ }, |
| 55150 | | .{ ._, ._, .mov, .dst0d, .si(0xff), ._, ._ }, |
| 60351 | .{ ._, ._, .mov, .dst0d, .si(-1), ._, ._ }, |
| 55151 | 60352 | .{ ._, ._z, .cmov, .tmp0d, .dst0d, ._, ._ }, |
| 55152 | 60353 | .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ }, |
| 55153 | 60354 | .{ ._, ._, .sub, .dst0b, .tmp0b, ._, ._ }, |
| ... | ... | @@ -55325,7 +60526,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 55325 | 60526 | .each = .{ .once = &.{ |
| 55326 | 60527 | .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ }, |
| 55327 | 60528 | .{ ._, ._, .@"and", .dst0d, .sa(.src0, .add_umax), ._, ._ }, |
| 55328 | | .{ ._, ._, .mov, .tmp0d, .si(0xff), ._, ._ }, |
| 60529 | .{ ._, ._, .mov, .tmp0d, .si(-1), ._, ._ }, |
| 55329 | 60530 | .{ ._, ._r, .bs, .tmp0d, .dst0d, ._, ._ }, |
| 55330 | 60531 | .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ }, |
| 55331 | 60532 | .{ ._, ._, .sub, .dst0b, .tmp0b, ._, ._ }, |
| ... | ... | @@ -55353,7 +60554,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 55353 | 60554 | .clobbers = .{ .eflags = true }, |
| 55354 | 60555 | .each = .{ .once = &.{ |
| 55355 | 60556 | .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ }, |
| 55356 | | .{ ._, ._, .mov, .tmp0d, .si(0xff), ._, ._ }, |
| 60557 | .{ ._, ._, .mov, .tmp0d, .si(-1), ._, ._ }, |
| 55357 | 60558 | .{ ._, ._r, .bs, .tmp0d, .dst0d, ._, ._ }, |
| 55358 | 60559 | .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ }, |
| 55359 | 60560 | .{ ._, ._, .sub, .dst0b, .tmp0b, ._, ._ }, |
| ... | ... | @@ -55383,8 +60584,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 55383 | 60584 | .each = .{ .once = &.{ |
| 55384 | 60585 | .{ ._, ._, .@"and", .src0w, .sa(.src0, .add_umax), ._, ._ }, |
| 55385 | 60586 | .{ ._, ._r, .bs, .src0w, .src0w, ._, ._ }, |
| 55386 | | .{ ._, ._, .mov, .dst0w, .si(0xff), ._, ._ }, |
| 55387 | | .{ ._, ._z, .cmov, .src0w, .dst0w, ._, ._ }, |
| 60587 | .{ ._, ._, .mov, .dst0d, .si(-1), ._, ._ }, |
| 60588 | .{ ._, ._z, .cmov, .src0d, .dst0d, ._, ._ }, |
| 55388 | 60589 | .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ }, |
| 55389 | 60590 | .{ ._, ._, .sub, .dst0b, .src0b, ._, ._ }, |
| 55390 | 60591 | } }, |
| ... | ... | @@ -55398,8 +60599,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 55398 | 60599 | .clobbers = .{ .eflags = true }, |
| 55399 | 60600 | .each = .{ .once = &.{ |
| 55400 | 60601 | .{ ._, ._r, .bs, .src0w, .src0w, ._, ._ }, |
| 55401 | | .{ ._, ._, .mov, .dst0w, .si(0xff), ._, ._ }, |
| 55402 | | .{ ._, ._z, .cmov, .src0w, .dst0w, ._, ._ }, |
| 60602 | .{ ._, ._, .mov, .dst0d, .si(-1), ._, ._ }, |
| 60603 | .{ ._, ._z, .cmov, .src0d, .dst0d, ._, ._ }, |
| 55403 | 60604 | .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ }, |
| 55404 | 60605 | .{ ._, ._, .sub, .dst0b, .src0b, ._, ._ }, |
| 55405 | 60606 | } }, |
| ... | ... | @@ -55483,7 +60684,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 55483 | 60684 | .clobbers = .{ .eflags = true }, |
| 55484 | 60685 | .each = .{ .once = &.{ |
| 55485 | 60686 | .{ ._, ._, .@"and", .src0w, .sa(.src0, .add_umax), ._, ._ }, |
| 55486 | | .{ ._, ._, .mov, .tmp0w, .si(0xff), ._, ._ }, |
| 60687 | .{ ._, ._, .mov, .tmp0d, .si(-1), ._, ._ }, |
| 55487 | 60688 | .{ ._, ._r, .bs, .tmp0w, .src0w, ._, ._ }, |
| 55488 | 60689 | .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ }, |
| 55489 | 60690 | .{ ._, ._, .sub, .dst0b, .tmp0b, ._, ._ }, |
| ... | ... | @@ -55510,7 +60711,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 55510 | 60711 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 55511 | 60712 | .clobbers = .{ .eflags = true }, |
| 55512 | 60713 | .each = .{ .once = &.{ |
| 55513 | | .{ ._, ._, .mov, .tmp0w, .si(0xff), ._, ._ }, |
| 60714 | .{ ._, ._, .mov, .tmp0d, .si(-1), ._, ._ }, |
| 55514 | 60715 | .{ ._, ._r, .bs, .tmp0w, .src0w, ._, ._ }, |
| 55515 | 60716 | .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ }, |
| 55516 | 60717 | .{ ._, ._, .sub, .dst0b, .tmp0b, ._, ._ }, |
| ... | ... | @@ -55540,7 +60741,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 55540 | 60741 | .each = .{ .once = &.{ |
| 55541 | 60742 | .{ ._, ._, .@"and", .src0d, .sa(.src0, .add_umax), ._, ._ }, |
| 55542 | 60743 | .{ ._, ._r, .bs, .src0d, .src0d, ._, ._ }, |
| 55543 | | .{ ._, ._, .mov, .dst0d, .si(0xff), ._, ._ }, |
| 60744 | .{ ._, ._, .mov, .dst0d, .si(-1), ._, ._ }, |
| 55544 | 60745 | .{ ._, ._z, .cmov, .src0d, .dst0d, ._, ._ }, |
| 55545 | 60746 | .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ }, |
| 55546 | 60747 | .{ ._, ._, .sub, .dst0b, .src0b, ._, ._ }, |
| ... | ... | @@ -55555,7 +60756,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 55555 | 60756 | .clobbers = .{ .eflags = true }, |
| 55556 | 60757 | .each = .{ .once = &.{ |
| 55557 | 60758 | .{ ._, ._r, .bs, .src0d, .src0d, ._, ._ }, |
| 55558 | | .{ ._, ._, .mov, .dst0d, .si(0xff), ._, ._ }, |
| 60759 | .{ ._, ._, .mov, .dst0d, .si(-1), ._, ._ }, |
| 55559 | 60760 | .{ ._, ._z, .cmov, .src0d, .dst0d, ._, ._ }, |
| 55560 | 60761 | .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ }, |
| 55561 | 60762 | .{ ._, ._, .sub, .dst0b, .src0b, ._, ._ }, |
| ... | ... | @@ -55640,7 +60841,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 55640 | 60841 | .clobbers = .{ .eflags = true }, |
| 55641 | 60842 | .each = .{ .once = &.{ |
| 55642 | 60843 | .{ ._, ._, .@"and", .src0d, .sa(.src0, .add_umax), ._, ._ }, |
| 55643 | | .{ ._, ._, .mov, .tmp0d, .si(0xff), ._, ._ }, |
| 60844 | .{ ._, ._, .mov, .tmp0d, .si(-1), ._, ._ }, |
| 55644 | 60845 | .{ ._, ._r, .bs, .tmp0d, .src0d, ._, ._ }, |
| 55645 | 60846 | .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ }, |
| 55646 | 60847 | .{ ._, ._, .sub, .dst0b, .tmp0b, ._, ._ }, |
| ... | ... | @@ -55667,7 +60868,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 55667 | 60868 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 55668 | 60869 | .clobbers = .{ .eflags = true }, |
| 55669 | 60870 | .each = .{ .once = &.{ |
| 55670 | | .{ ._, ._, .mov, .tmp0d, .si(0xff), ._, ._ }, |
| 60871 | .{ ._, ._, .mov, .tmp0d, .si(-1), ._, ._ }, |
| 55671 | 60872 | .{ ._, ._r, .bs, .tmp0d, .src0d, ._, ._ }, |
| 55672 | 60873 | .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ }, |
| 55673 | 60874 | .{ ._, ._, .sub, .dst0b, .tmp0b, ._, ._ }, |
| ... | ... | @@ -55712,7 +60913,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 55712 | 60913 | .{ ._, ._, .mov, .tmp0q, .ua(.src0, .add_umax), ._, ._ }, |
| 55713 | 60914 | .{ ._, ._, .@"and", .tmp0q, .src0q, ._, ._ }, |
| 55714 | 60915 | .{ ._, ._r, .bs, .tmp0q, .tmp0q, ._, ._ }, |
| 55715 | | .{ ._, ._, .mov, .dst0d, .si(0xff), ._, ._ }, |
| 60916 | .{ ._, ._, .mov, .dst0d, .si(-1), ._, ._ }, |
| 55716 | 60917 | .{ ._, ._z, .cmov, .tmp0d, .dst0d, ._, ._ }, |
| 55717 | 60918 | .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ }, |
| 55718 | 60919 | .{ ._, ._, .sub, .dst0b, .tmp0b, ._, ._ }, |
| ... | ... | @@ -55727,7 +60928,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 55727 | 60928 | .clobbers = .{ .eflags = true }, |
| 55728 | 60929 | .each = .{ .once = &.{ |
| 55729 | 60930 | .{ ._, ._r, .bs, .src0q, .src0q, ._, ._ }, |
| 55730 | | .{ ._, ._, .mov, .dst0d, .si(0xff), ._, ._ }, |
| 60931 | .{ ._, ._, .mov, .dst0d, .si(-1), ._, ._ }, |
| 55731 | 60932 | .{ ._, ._z, .cmov, .src0d, .dst0d, ._, ._ }, |
| 55732 | 60933 | .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ }, |
| 55733 | 60934 | .{ ._, ._, .sub, .dst0b, .src0b, ._, ._ }, |
| ... | ... | @@ -55831,7 +61032,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 55831 | 61032 | .each = .{ .once = &.{ |
| 55832 | 61033 | .{ ._, ._, .mov, .dst0q, .ua(.src0, .add_umax), ._, ._ }, |
| 55833 | 61034 | .{ ._, ._, .@"and", .dst0q, .src0q, ._, ._ }, |
| 55834 | | .{ ._, ._, .mov, .tmp0d, .si(0xff), ._, ._ }, |
| 61035 | .{ ._, ._, .mov, .tmp0d, .si(-1), ._, ._ }, |
| 55835 | 61036 | .{ ._, ._r, .bs, .tmp0q, .dst0q, ._, ._ }, |
| 55836 | 61037 | .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ }, |
| 55837 | 61038 | .{ ._, ._, .sub, .dst0b, .tmp0b, ._, ._ }, |
| ... | ... | @@ -55859,7 +61060,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 55859 | 61060 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 55860 | 61061 | .clobbers = .{ .eflags = true }, |
| 55861 | 61062 | .each = .{ .once = &.{ |
| 55862 | | .{ ._, ._, .mov, .tmp0d, .si(0xff), ._, ._ }, |
| 61063 | .{ ._, ._, .mov, .tmp0d, .si(-1), ._, ._ }, |
| 55863 | 61064 | .{ ._, ._r, .bs, .tmp0q, .src0q, ._, ._ }, |
| 55864 | 61065 | .{ ._, ._, .mov, .dst0b, .sia(-1, .src0, .add_bit_size), ._, ._ }, |
| 55865 | 61066 | .{ ._, ._, .sub, .dst0b, .tmp0b, ._, ._ }, |
| ... | ... | @@ -56597,7 +61798,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 56597 | 61798 | .clobbers = .{ .eflags = true }, |
| 56598 | 61799 | .each = .{ .once = &.{ |
| 56599 | 61800 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ }, |
| 56600 | | .{ ._, ._, .mov, .tmp1d, .si(0xff), ._, ._ }, |
| 61801 | .{ ._, ._, .mov, .tmp1d, .si(-1), ._, ._ }, |
| 56601 | 61802 | .{ .@"0:", ._, .movzx, .tmp2d, .memia(.src0b, .tmp0, .add_len), ._, ._ }, |
| 56602 | 61803 | .{ ._, ._, .@"and", .tmp2d, .sa(.src0, .add_umax), ._, ._ }, |
| 56603 | 61804 | .{ ._, ._r, .bs, .tmp2d, .tmp2d, ._, ._ }, |
| ... | ... | @@ -56631,7 +61832,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 56631 | 61832 | .clobbers = .{ .eflags = true }, |
| 56632 | 61833 | .each = .{ .once = &.{ |
| 56633 | 61834 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ }, |
| 56634 | | .{ ._, ._, .mov, .tmp1d, .si(0xff), ._, ._ }, |
| 61835 | .{ ._, ._, .mov, .tmp1d, .si(-1), ._, ._ }, |
| 56635 | 61836 | .{ .@"0:", ._, .movzx, .tmp2d, .memia(.src0b, .tmp0, .add_len), ._, ._ }, |
| 56636 | 61837 | .{ ._, ._, .@"and", .tmp2d, .sa(.src0, .add_umax), ._, ._ }, |
| 56637 | 61838 | .{ ._, ._r, .bs, .tmp2d, .tmp2d, ._, ._ }, |
| ... | ... | @@ -56735,7 +61936,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 56735 | 61936 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ }, |
| 56736 | 61937 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_len), ._, ._ }, |
| 56737 | 61938 | .{ ._, ._, .@"and", .tmp1d, .sa(.src0, .add_umax), ._, ._ }, |
| 56738 | | .{ ._, ._, .mov, .tmp2d, .si(0xff), ._, ._ }, |
| 61939 | .{ ._, ._, .mov, .tmp2d, .si(-1), ._, ._ }, |
| 56739 | 61940 | .{ ._, ._r, .bs, .tmp2d, .tmp1d, ._, ._ }, |
| 56740 | 61941 | .{ ._, ._, .mov, .tmp1b, .sia(-1, .src0, .add_bit_size), ._, ._ }, |
| 56741 | 61942 | .{ ._, ._, .sub, .tmp1b, .tmp2b, ._, ._ }, |
| ... | ... | @@ -56767,7 +61968,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 56767 | 61968 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ }, |
| 56768 | 61969 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_len), ._, ._ }, |
| 56769 | 61970 | .{ ._, ._, .@"and", .tmp1d, .sa(.src0, .add_umax), ._, ._ }, |
| 56770 | | .{ ._, ._, .mov, .tmp2d, .si(0xff), ._, ._ }, |
| 61971 | .{ ._, ._, .mov, .tmp2d, .si(-1), ._, ._ }, |
| 56771 | 61972 | .{ ._, ._r, .bs, .tmp2d, .tmp1d, ._, ._ }, |
| 56772 | 61973 | .{ ._, ._, .mov, .tmp1b, .sia(-1, .src0, .add_bit_size), ._, ._ }, |
| 56773 | 61974 | .{ ._, ._, .sub, .tmp1b, .tmp2b, ._, ._ }, |
| ... | ... | @@ -56798,7 +61999,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 56798 | 61999 | .clobbers = .{ .eflags = true }, |
| 56799 | 62000 | .each = .{ .once = &.{ |
| 56800 | 62001 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ }, |
| 56801 | | .{ ._, ._, .mov, .tmp1d, .si(0xff), ._, ._ }, |
| 62002 | .{ ._, ._, .mov, .tmp1d, .si(-1), ._, ._ }, |
| 56802 | 62003 | .{ .@"0:", ._, .movzx, .tmp2d, .memsia(.src0w, .@"2", .tmp0, .add_2_len), ._, ._ }, |
| 56803 | 62004 | .{ ._, ._, .@"and", .tmp2d, .sa(.src0, .add_umax), ._, ._ }, |
| 56804 | 62005 | .{ ._, ._r, .bs, .tmp2d, .tmp2d, ._, ._ }, |
| ... | ... | @@ -56832,7 +62033,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 56832 | 62033 | .clobbers = .{ .eflags = true }, |
| 56833 | 62034 | .each = .{ .once = &.{ |
| 56834 | 62035 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ }, |
| 56835 | | .{ ._, ._, .mov, .tmp1d, .si(0xff), ._, ._ }, |
| 62036 | .{ ._, ._, .mov, .tmp1d, .si(-1), ._, ._ }, |
| 56836 | 62037 | .{ .@"0:", ._, .movzx, .tmp2d, .memsia(.src0w, .@"2", .tmp0, .add_2_len), ._, ._ }, |
| 56837 | 62038 | .{ ._, ._, .@"and", .tmp2d, .sa(.src0, .add_umax), ._, ._ }, |
| 56838 | 62039 | .{ ._, ._r, .bs, .tmp2d, .tmp2d, ._, ._ }, |
| ... | ... | @@ -56936,7 +62137,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 56936 | 62137 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ }, |
| 56937 | 62138 | .{ .@"0:", ._, .movzx, .tmp1d, .memsia(.src0w, .@"2", .tmp0, .add_2_len), ._, ._ }, |
| 56938 | 62139 | .{ ._, ._, .@"and", .tmp1d, .sa(.src0, .add_umax), ._, ._ }, |
| 56939 | | .{ ._, ._, .mov, .tmp2d, .si(0xff), ._, ._ }, |
| 62140 | .{ ._, ._, .mov, .tmp2d, .si(-1), ._, ._ }, |
| 56940 | 62141 | .{ ._, ._r, .bs, .tmp2d, .tmp1d, ._, ._ }, |
| 56941 | 62142 | .{ ._, ._, .mov, .tmp1b, .sia(-1, .src0, .add_bit_size), ._, ._ }, |
| 56942 | 62143 | .{ ._, ._, .sub, .tmp1b, .tmp2b, ._, ._ }, |
| ... | ... | @@ -56968,7 +62169,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 56968 | 62169 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ }, |
| 56969 | 62170 | .{ .@"0:", ._, .movzx, .tmp1d, .memsia(.src0w, .@"2", .tmp0, .add_2_len), ._, ._ }, |
| 56970 | 62171 | .{ ._, ._, .@"and", .tmp1d, .sa(.src0, .add_umax), ._, ._ }, |
| 56971 | | .{ ._, ._, .mov, .tmp2d, .si(0xff), ._, ._ }, |
| 62172 | .{ ._, ._, .mov, .tmp2d, .si(-1), ._, ._ }, |
| 56972 | 62173 | .{ ._, ._r, .bs, .tmp2d, .tmp1d, ._, ._ }, |
| 56973 | 62174 | .{ ._, ._, .mov, .tmp1b, .sia(-1, .src0, .add_bit_size), ._, ._ }, |
| 56974 | 62175 | .{ ._, ._, .sub, .tmp1b, .tmp2b, ._, ._ }, |
| ... | ... | @@ -56999,7 +62200,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 56999 | 62200 | .clobbers = .{ .eflags = true }, |
| 57000 | 62201 | .each = .{ .once = &.{ |
| 57001 | 62202 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ }, |
| 57002 | | .{ ._, ._, .mov, .tmp1d, .si(0xff), ._, ._ }, |
| 62203 | .{ ._, ._, .mov, .tmp1d, .si(-1), ._, ._ }, |
| 57003 | 62204 | .{ .@"0:", ._, .mov, .tmp2d, .memsia(.src0d, .@"4", .tmp0, .add_4_len), ._, ._ }, |
| 57004 | 62205 | .{ ._, ._, .@"and", .tmp2d, .sa(.src0, .add_umax), ._, ._ }, |
| 57005 | 62206 | .{ ._, ._r, .bs, .tmp2d, .tmp2d, ._, ._ }, |
| ... | ... | @@ -57033,7 +62234,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 57033 | 62234 | .clobbers = .{ .eflags = true }, |
| 57034 | 62235 | .each = .{ .once = &.{ |
| 57035 | 62236 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ }, |
| 57036 | | .{ ._, ._, .mov, .tmp1d, .si(0xff), ._, ._ }, |
| 62237 | .{ ._, ._, .mov, .tmp1d, .si(-1), ._, ._ }, |
| 57037 | 62238 | .{ .@"0:", ._, .mov, .tmp2d, .memsia(.src0d, .@"4", .tmp0, .add_4_len), ._, ._ }, |
| 57038 | 62239 | .{ ._, ._, .@"and", .tmp2d, .sa(.src0, .add_umax), ._, ._ }, |
| 57039 | 62240 | .{ ._, ._r, .bs, .tmp2d, .tmp2d, ._, ._ }, |
| ... | ... | @@ -57137,7 +62338,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 57137 | 62338 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ }, |
| 57138 | 62339 | .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_4_len), ._, ._ }, |
| 57139 | 62340 | .{ ._, ._, .@"and", .tmp1d, .sa(.src0, .add_umax), ._, ._ }, |
| 57140 | | .{ ._, ._, .mov, .tmp2d, .si(0xff), ._, ._ }, |
| 62341 | .{ ._, ._, .mov, .tmp2d, .si(-1), ._, ._ }, |
| 57141 | 62342 | .{ ._, ._r, .bs, .tmp2d, .tmp1d, ._, ._ }, |
| 57142 | 62343 | .{ ._, ._, .mov, .tmp1b, .sia(-1, .src0, .add_bit_size), ._, ._ }, |
| 57143 | 62344 | .{ ._, ._, .sub, .tmp1b, .tmp2b, ._, ._ }, |
| ... | ... | @@ -57169,7 +62370,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 57169 | 62370 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ }, |
| 57170 | 62371 | .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_4_len), ._, ._ }, |
| 57171 | 62372 | .{ ._, ._, .@"and", .tmp1d, .sa(.src0, .add_umax), ._, ._ }, |
| 57172 | | .{ ._, ._, .mov, .tmp2d, .si(0xff), ._, ._ }, |
| 62373 | .{ ._, ._, .mov, .tmp2d, .si(-1), ._, ._ }, |
| 57173 | 62374 | .{ ._, ._r, .bs, .tmp2d, .tmp1d, ._, ._ }, |
| 57174 | 62375 | .{ ._, ._, .mov, .tmp1b, .sia(-1, .src0, .add_bit_size), ._, ._ }, |
| 57175 | 62376 | .{ ._, ._, .sub, .tmp1b, .tmp2b, ._, ._ }, |
| ... | ... | @@ -57200,7 +62401,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 57200 | 62401 | .clobbers = .{ .eflags = true }, |
| 57201 | 62402 | .each = .{ .once = &.{ |
| 57202 | 62403 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ }, |
| 57203 | | .{ ._, ._, .mov, .tmp1d, .si(0xff), ._, ._ }, |
| 62404 | .{ ._, ._, .mov, .tmp1d, .si(-1), ._, ._ }, |
| 57204 | 62405 | .{ .@"0:", ._, .mov, .tmp2q, .ua(.src0, .add_umax), ._, ._ }, |
| 57205 | 62406 | .{ ._, ._, .@"and", .tmp2q, .memsia(.src0q, .@"8", .tmp0, .add_8_len), ._, ._ }, |
| 57206 | 62407 | .{ ._, ._r, .bs, .tmp2q, .tmp2q, ._, ._ }, |
| ... | ... | @@ -57234,7 +62435,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 57234 | 62435 | .clobbers = .{ .eflags = true }, |
| 57235 | 62436 | .each = .{ .once = &.{ |
| 57236 | 62437 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ }, |
| 57237 | | .{ ._, ._, .mov, .tmp1d, .si(0xff), ._, ._ }, |
| 62438 | .{ ._, ._, .mov, .tmp1d, .si(-1), ._, ._ }, |
| 57238 | 62439 | .{ .@"0:", ._, .mov, .tmp2q, .ua(.src0, .add_umax), ._, ._ }, |
| 57239 | 62440 | .{ ._, ._, .@"and", .tmp2q, .memsia(.src0q, .@"8", .tmp0, .add_8_len), ._, ._ }, |
| 57240 | 62441 | .{ ._, ._r, .bs, .tmp2q, .tmp2q, ._, ._ }, |
| ... | ... | @@ -57338,7 +62539,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 57338 | 62539 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ }, |
| 57339 | 62540 | .{ .@"0:", ._, .mov, .tmp1q, .ua(.src0, .add_umax), ._, ._ }, |
| 57340 | 62541 | .{ ._, ._, .@"and", .tmp1q, .memsia(.src0q, .@"8", .tmp0, .add_8_len), ._, ._ }, |
| 57341 | | .{ ._, ._, .mov, .tmp2d, .si(0xff), ._, ._ }, |
| 62542 | .{ ._, ._, .mov, .tmp2d, .si(-1), ._, ._ }, |
| 57342 | 62543 | .{ ._, ._r, .bs, .tmp2q, .tmp1q, ._, ._ }, |
| 57343 | 62544 | .{ ._, ._, .mov, .tmp1b, .sia(-1, .src0, .add_bit_size), ._, ._ }, |
| 57344 | 62545 | .{ ._, ._, .sub, .tmp1b, .tmp2b, ._, ._ }, |
| ... | ... | @@ -57371,7 +62572,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 57371 | 62572 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ }, |
| 57372 | 62573 | .{ .@"0:", ._, .mov, .tmp1q, .ua(.src0, .add_umax), ._, ._ }, |
| 57373 | 62574 | .{ ._, ._, .@"and", .tmp1q, .memsia(.src0q, .@"8", .tmp0, .add_8_len), ._, ._ }, |
| 57374 | | .{ ._, ._, .mov, .tmp2d, .si(0xff), ._, ._ }, |
| 62575 | .{ ._, ._, .mov, .tmp2d, .si(-1), ._, ._ }, |
| 57375 | 62576 | .{ ._, ._r, .bs, .tmp2q, .tmp1q, ._, ._ }, |
| 57376 | 62577 | .{ ._, ._, .mov, .tmp1b, .sia(-1, .src0, .add_bit_size), ._, ._ }, |
| 57377 | 62578 | .{ ._, ._, .sub, .tmp1b, .tmp2b, ._, ._ }, |
| ... | ... | @@ -59339,7 +64540,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 59339 | 64540 | } }, |
| 59340 | 64541 | }, .{ |
| 59341 | 64542 | .required_features = .{ .@"64bit", .movbe, null, null }, |
| 59342 | | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 64543 | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = 128 } }, .any, .any }, |
| 59343 | 64544 | .patterns = &.{ |
| 59344 | 64545 | .{ .src = .{ .to_mem, .none, .none } }, |
| 59345 | 64546 | }, |
| ... | ... | @@ -59369,7 +64570,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 59369 | 64570 | } }, |
| 59370 | 64571 | }, .{ |
| 59371 | 64572 | .required_features = .{ .@"64bit", null, null, null }, |
| 59372 | | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 64573 | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = 128 } }, .any, .any }, |
| 59373 | 64574 | .patterns = &.{ |
| 59374 | 64575 | .{ .src = .{ .to_mem, .none, .none } }, |
| 59375 | 64576 | }, |
| ... | ... | @@ -59400,7 +64601,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 59400 | 64601 | } }, |
| 59401 | 64602 | }, .{ |
| 59402 | 64603 | .required_features = .{ .@"64bit", .movbe, null, null }, |
| 59403 | | .src_constraints = .{ .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| 64604 | .src_constraints = .{ .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, .any, .any }, |
| 59404 | 64605 | .patterns = &.{ |
| 59405 | 64606 | .{ .src = .{ .to_mem, .none, .none } }, |
| 59406 | 64607 | }, |
| ... | ... | @@ -59433,7 +64634,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 59433 | 64634 | } }, |
| 59434 | 64635 | }, .{ |
| 59435 | 64636 | .required_features = .{ .@"64bit", null, null, null }, |
| 59436 | | .src_constraints = .{ .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| 64637 | .src_constraints = .{ .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, .any, .any }, |
| 59437 | 64638 | .patterns = &.{ |
| 59438 | 64639 | .{ .src = .{ .to_mem, .none, .none } }, |
| 59439 | 64640 | }, |
| ... | ... | @@ -59467,7 +64668,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 59467 | 64668 | } }, |
| 59468 | 64669 | }, .{ |
| 59469 | 64670 | .required_features = .{ .@"64bit", .movbe, null, null }, |
| 59470 | | .src_constraints = .{ .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| 64671 | .src_constraints = .{ .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, .any, .any }, |
| 59471 | 64672 | .patterns = &.{ |
| 59472 | 64673 | .{ .src = .{ .to_mem, .none, .none } }, |
| 59473 | 64674 | }, |
| ... | ... | @@ -59498,7 +64699,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 59498 | 64699 | } }, |
| 59499 | 64700 | }, .{ |
| 59500 | 64701 | .required_features = .{ .@"64bit", null, null, null }, |
| 59501 | | .src_constraints = .{ .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| 64702 | .src_constraints = .{ .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, .any, .any }, |
| 59502 | 64703 | .patterns = &.{ |
| 59503 | 64704 | .{ .src = .{ .to_mem, .none, .none } }, |
| 59504 | 64705 | }, |
| ... | ... | @@ -62067,7 +67268,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 62067 | 67268 | } }, |
| 62068 | 67269 | }, .{ |
| 62069 | 67270 | .required_features = .{ .avx2, .gfni, null, null }, |
| 62070 | | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .yword, .is = .yword } }, .any, .any }, |
| 67271 | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .yword, .is = 256 } }, .any, .any }, |
| 62071 | 67272 | .patterns = &.{ |
| 62072 | 67273 | .{ .src = .{ .to_mem, .none, .none } }, |
| 62073 | 67274 | }, |
| ... | ... | @@ -62103,7 +67304,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 62103 | 67304 | } }, |
| 62104 | 67305 | }, .{ |
| 62105 | 67306 | .required_features = .{ .avx, .gfni, null, null }, |
| 62106 | | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .yword, .is = .yword } }, .any, .any }, |
| 67307 | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .yword, .is = 256 } }, .any, .any }, |
| 62107 | 67308 | .patterns = &.{ |
| 62108 | 67309 | .{ .src = .{ .to_mem, .none, .none } }, |
| 62109 | 67310 | }, |
| ... | ... | @@ -62139,7 +67340,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 62139 | 67340 | } }, |
| 62140 | 67341 | }, .{ |
| 62141 | 67342 | .required_features = .{ .avx, .gfni, null, null }, |
| 62142 | | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 67343 | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = 128 } }, .any, .any }, |
| 62143 | 67344 | .patterns = &.{ |
| 62144 | 67345 | .{ .src = .{ .to_mem, .none, .none } }, |
| 62145 | 67346 | }, |
| ... | ... | @@ -62175,7 +67376,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 62175 | 67376 | } }, |
| 62176 | 67377 | }, .{ |
| 62177 | 67378 | .required_features = .{ .@"64bit", .movbe, null, null }, |
| 62178 | | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 67379 | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = 128 } }, .any, .any }, |
| 62179 | 67380 | .patterns = &.{ |
| 62180 | 67381 | .{ .src = .{ .to_mem, .none, .none } }, |
| 62181 | 67382 | }, |
| ... | ... | @@ -62226,7 +67427,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 62226 | 67427 | } }, |
| 62227 | 67428 | }, .{ |
| 62228 | 67429 | .required_features = .{ .@"64bit", null, null, null }, |
| 62229 | | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 67430 | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = 128 } }, .any, .any }, |
| 62230 | 67431 | .patterns = &.{ |
| 62231 | 67432 | .{ .src = .{ .to_mem, .none, .none } }, |
| 62232 | 67433 | }, |
| ... | ... | @@ -62278,7 +67479,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 62278 | 67479 | } }, |
| 62279 | 67480 | }, .{ |
| 62280 | 67481 | .required_features = .{ .@"64bit", .movbe, null, null }, |
| 62281 | | .src_constraints = .{ .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| 67482 | .src_constraints = .{ .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, .any, .any }, |
| 62282 | 67483 | .patterns = &.{ |
| 62283 | 67484 | .{ .src = .{ .to_mem, .none, .none } }, |
| 62284 | 67485 | }, |
| ... | ... | @@ -62333,7 +67534,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 62333 | 67534 | } }, |
| 62334 | 67535 | }, .{ |
| 62335 | 67536 | .required_features = .{ .@"64bit", null, null, null }, |
| 62336 | | .src_constraints = .{ .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| 67537 | .src_constraints = .{ .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, .any, .any }, |
| 62337 | 67538 | .patterns = &.{ |
| 62338 | 67539 | .{ .src = .{ .to_mem, .none, .none } }, |
| 62339 | 67540 | }, |
| ... | ... | @@ -62389,7 +67590,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 62389 | 67590 | } }, |
| 62390 | 67591 | }, .{ |
| 62391 | 67592 | .required_features = .{ .@"64bit", .movbe, null, null }, |
| 62392 | | .src_constraints = .{ .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| 67593 | .src_constraints = .{ .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, .any, .any }, |
| 62393 | 67594 | .patterns = &.{ |
| 62394 | 67595 | .{ .src = .{ .to_mem, .none, .none } }, |
| 62395 | 67596 | }, |
| ... | ... | @@ -62441,7 +67642,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 62441 | 67642 | } }, |
| 62442 | 67643 | }, .{ |
| 62443 | 67644 | .required_features = .{ .@"64bit", null, null, null }, |
| 62444 | | .src_constraints = .{ .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| 67645 | .src_constraints = .{ .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, .any, .any }, |
| 62445 | 67646 | .patterns = &.{ |
| 62446 | 67647 | .{ .src = .{ .to_mem, .none, .none } }, |
| 62447 | 67648 | }, |
| ... | ... | @@ -64694,7 +69895,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 64694 | 69895 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 64695 | 69896 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, |
| 64696 | 69897 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 64697 | | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 69898 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| 64698 | 69899 | .unused, |
| 64699 | 69900 | .unused, |
| 64700 | 69901 | .unused, |
| ... | ... | @@ -64713,8 +69914,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 64713 | 69914 | .{ ._, .fn_sw, .st, .tmp6w, ._, ._, ._ }, |
| 64714 | 69915 | switch (cc) { |
| 64715 | 69916 | else => unreachable, |
| 64716 | | .l => .{ ._, ._, .@"test", .tmp6b, .si(0b1_000_001), ._, ._ }, |
| 64717 | | .le => .{ ._, ._r, .sh, .tmp6b, .ui(1), ._, ._ }, |
| 69917 | .l => .{ ._, ._, .@"test", .tmp6h, .si(0b1_000_001), ._, ._ }, |
| 69918 | .le => .{ ._, ._r, .sh, .tmp6h, .ui(1), ._, ._ }, |
| 64718 | 69919 | }, |
| 64719 | 69920 | .{ ._, .fromCond(switch (cc) { |
| 64720 | 69921 | else => unreachable, |
| ... | ... | @@ -64864,7 +70065,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 64864 | 70065 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 64865 | 70066 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 64866 | 70067 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 64867 | | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 70068 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| 64868 | 70069 | .unused, |
| 64869 | 70070 | .unused, |
| 64870 | 70071 | .unused, |
| ... | ... | @@ -64883,8 +70084,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 64883 | 70084 | .{ ._, .fn_sw, .st, .tmp6w, ._, ._, ._ }, |
| 64884 | 70085 | switch (cc) { |
| 64885 | 70086 | else => unreachable, |
| 64886 | | .l => .{ ._, ._, .@"test", .tmp6b, .si(0b1_000_001), ._, ._ }, |
| 64887 | | .le => .{ ._, ._r, .sh, .tmp6b, .ui(1), ._, ._ }, |
| 70087 | .l => .{ ._, ._, .@"test", .tmp6h, .si(0b1_000_001), ._, ._ }, |
| 70088 | .le => .{ ._, ._r, .sh, .tmp6h, .ui(1), ._, ._ }, |
| 64888 | 70089 | }, |
| 64889 | 70090 | .{ ._, .fromCond(switch (cc) { |
| 64890 | 70091 | else => unreachable, |
| ... | ... | @@ -69216,7 +74417,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69216 | 74417 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 69217 | 74418 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, |
| 69218 | 74419 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 69219 | | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 74420 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| 69220 | 74421 | .unused, |
| 69221 | 74422 | .unused, |
| 69222 | 74423 | .unused, |
| ... | ... | @@ -69233,8 +74434,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69233 | 74434 | .{ ._, .f_, .ld, .memia(.src0q, .tmp0, .add_size), ._, ._, ._ }, |
| 69234 | 74435 | .{ ._, .f_pp, .ucom, ._, ._, ._, ._ }, |
| 69235 | 74436 | .{ ._, .fn_sw, .st, .tmp6w, ._, ._, ._ }, |
| 69236 | | .{ ._, ._, .xor, .tmp6b, .si(0b1_000_000), ._, ._ }, |
| 69237 | | .{ ._, ._, .@"test", .tmp6b, .si(0b1_000_100), ._, ._ }, |
| 74437 | .{ ._, ._, .xor, .tmp6h, .si(0b1_000_000), ._, ._ }, |
| 74438 | .{ ._, ._, .@"test", .tmp6h, .si(0b1_000_100), ._, ._ }, |
| 69238 | 74439 | .{ ._, .fromCond(cc), .set, .tmp3b, ._, ._, ._ }, |
| 69239 | 74440 | .{ ._, ._l, .ro, .tmp3b, .tmp1b, ._, ._ }, |
| 69240 | 74441 | .{ ._, ._, .@"or", .tmp2b, .tmp3b, ._, ._ }, |
| ... | ... | @@ -69393,7 +74594,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69393 | 74594 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 69394 | 74595 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 69395 | 74596 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 69396 | | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 74597 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| 69397 | 74598 | .unused, |
| 69398 | 74599 | .unused, |
| 69399 | 74600 | .unused, |
| ... | ... | @@ -69410,8 +74611,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69410 | 74611 | .{ ._, .f_, .ld, .memia(.src0t, .tmp0, .add_size), ._, ._, ._ }, |
| 69411 | 74612 | .{ ._, .f_pp, .ucom, ._, ._, ._, ._ }, |
| 69412 | 74613 | .{ ._, .fn_sw, .st, .tmp6w, ._, ._, ._ }, |
| 69413 | | .{ ._, ._, .xor, .tmp6b, .si(0b1_000_000), ._, ._ }, |
| 69414 | | .{ ._, ._, .@"test", .tmp6b, .si(0b1_000_100), ._, ._ }, |
| 74614 | .{ ._, ._, .xor, .tmp6h, .si(0b1_000_000), ._, ._ }, |
| 74615 | .{ ._, ._, .@"test", .tmp6h, .si(0b1_000_100), ._, ._ }, |
| 69415 | 74616 | .{ ._, .fromCond(cc), .set, .tmp3b, ._, ._, ._ }, |
| 69416 | 74617 | .{ ._, ._l, .ro, .tmp3b, .tmp1b, ._, ._ }, |
| 69417 | 74618 | .{ ._, ._, .@"or", .tmp2b, .tmp3b, ._, ._ }, |
| ... | ... | @@ -74953,7 +80154,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 74953 | 80154 | .extra_temps = .{ |
| 74954 | 80155 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, |
| 74955 | 80156 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 74956 | | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 80157 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| 74957 | 80158 | .unused, |
| 74958 | 80159 | .unused, |
| 74959 | 80160 | .unused, |
| ... | ... | @@ -74984,7 +80185,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 74984 | 80185 | .extra_temps = .{ |
| 74985 | 80186 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, |
| 74986 | 80187 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 74987 | | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 80188 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| 74988 | 80189 | .unused, |
| 74989 | 80190 | .unused, |
| 74990 | 80191 | .unused, |
| ... | ... | @@ -75005,8 +80206,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 75005 | 80206 | .{ ._, .f_pp, .ucom, ._, ._, ._, ._ }, |
| 75006 | 80207 | .{ ._, .fn_sw, .st, .tmp2w, ._, ._, ._ }, |
| 75007 | 80208 | switch (strict) { |
| 75008 | | true => .{ ._, ._, .@"test", .tmp2b, .si(0b1_000_001), ._, ._ }, |
| 75009 | | false => .{ ._, ._r, .sh, .tmp2b, .ui(1), ._, ._ }, |
| 80209 | true => .{ ._, ._, .@"test", .tmp2h, .si(0b1_000_001), ._, ._ }, |
| 80210 | false => .{ ._, ._r, .sh, .tmp2h, .ui(1), ._, ._ }, |
| 75010 | 80211 | }, |
| 75011 | 80212 | } }, |
| 75012 | 80213 | }, .{ |
| ... | ... | @@ -75047,7 +80248,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 75047 | 80248 | .extra_temps = .{ |
| 75048 | 80249 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 75049 | 80250 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 75050 | | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 80251 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| 75051 | 80252 | .unused, |
| 75052 | 80253 | .unused, |
| 75053 | 80254 | .unused, |
| ... | ... | @@ -75079,7 +80280,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 75079 | 80280 | .extra_temps = .{ |
| 75080 | 80281 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 75081 | 80282 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 75082 | | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 80283 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| 75083 | 80284 | .unused, |
| 75084 | 80285 | .unused, |
| 75085 | 80286 | .unused, |
| ... | ... | @@ -75109,7 +80310,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 75109 | 80310 | .extra_temps = .{ |
| 75110 | 80311 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 75111 | 80312 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 75112 | | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 80313 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| 75113 | 80314 | .unused, |
| 75114 | 80315 | .unused, |
| 75115 | 80316 | .unused, |
| ... | ... | @@ -75130,8 +80331,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 75130 | 80331 | .{ ._, .f_pp, .ucom, ._, ._, ._, ._ }, |
| 75131 | 80332 | .{ ._, .fn_sw, .st, .tmp2w, ._, ._, ._ }, |
| 75132 | 80333 | switch (strict) { |
| 75133 | | true => .{ ._, ._, .@"test", .tmp2b, .si(0b1_000_001), ._, ._ }, |
| 75134 | | false => .{ ._, ._r, .sh, .tmp2b, .ui(1), ._, ._ }, |
| 80334 | true => .{ ._, ._, .@"test", .tmp2h, .si(0b1_000_001), ._, ._ }, |
| 80335 | false => .{ ._, ._r, .sh, .tmp2h, .ui(1), ._, ._ }, |
| 75135 | 80336 | }, |
| 75136 | 80337 | } }, |
| 75137 | 80338 | }, .{ |
| ... | ... | @@ -75144,7 +80345,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 75144 | 80345 | .extra_temps = .{ |
| 75145 | 80346 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 75146 | 80347 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 75147 | | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 80348 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| 75148 | 80349 | .unused, |
| 75149 | 80350 | .unused, |
| 75150 | 80351 | .unused, |
| ... | ... | @@ -75164,8 +80365,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 75164 | 80365 | .{ ._, .f_p, .ucom, .src1t, ._, ._, ._ }, |
| 75165 | 80366 | .{ ._, .fn_sw, .st, .tmp2w, ._, ._, ._ }, |
| 75166 | 80367 | switch (strict) { |
| 75167 | | true => .{ ._, ._, .@"test", .tmp2b, .si(0b1_000_001), ._, ._ }, |
| 75168 | | false => .{ ._, ._r, .sh, .tmp2b, .ui(1), ._, ._ }, |
| 80368 | true => .{ ._, ._, .@"test", .tmp2h, .si(0b1_000_001), ._, ._ }, |
| 80369 | false => .{ ._, ._r, .sh, .tmp2h, .ui(1), ._, ._ }, |
| 75169 | 80370 | }, |
| 75170 | 80371 | } }, |
| 75171 | 80372 | }, .{ |
| ... | ... | @@ -75458,7 +80659,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 75458 | 80659 | .extra_temps = .{ |
| 75459 | 80660 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, |
| 75460 | 80661 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 75461 | | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 80662 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| 75462 | 80663 | .unused, |
| 75463 | 80664 | .unused, |
| 75464 | 80665 | .unused, |
| ... | ... | @@ -75489,7 +80690,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 75489 | 80690 | .extra_temps = .{ |
| 75490 | 80691 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, |
| 75491 | 80692 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 75492 | | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 80693 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| 75493 | 80694 | .unused, |
| 75494 | 80695 | .unused, |
| 75495 | 80696 | .unused, |
| ... | ... | @@ -75510,15 +80711,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 75510 | 80711 | .{ ._, .f_, .ld, .src0q, ._, ._, ._ }, |
| 75511 | 80712 | .{ ._, .f_pp, .ucom, ._, ._, ._, ._ }, |
| 75512 | 80713 | .{ ._, .fn_sw, .st, .tmp2w, ._, ._, ._ }, |
| 75513 | | .{ ._, ._, .xor, .tmp2b, .si(0b1_000_000), ._, ._ }, |
| 75514 | | .{ ._, ._, .@"test", .tmp2b, .si(0b1_000_100), ._, ._ }, |
| 80714 | .{ ._, ._, .xor, .tmp2h, .si(0b1_000_000), ._, ._ }, |
| 80715 | .{ ._, ._, .@"test", .tmp2h, .si(0b1_000_100), ._, ._ }, |
| 75515 | 80716 | }, |
| 75516 | 80717 | true => &.{ |
| 75517 | 80718 | .{ ._, .f_, .ld, .src1q, ._, ._, ._ }, |
| 75518 | 80719 | .{ ._, .f_, .ld, .src0q, ._, ._, ._ }, |
| 75519 | 80720 | .{ ._, .f_pp, .ucom, ._, ._, ._, ._ }, |
| 75520 | 80721 | .{ ._, .fn_sw, .st, .tmp2w, ._, ._, ._ }, |
| 75521 | | .{ ._, ._, .@"test", .tmp2b, .si(0b1_000_000), ._, ._ }, |
| 80722 | .{ ._, ._, .@"test", .tmp2h, .si(0b1_000_000), ._, ._ }, |
| 75522 | 80723 | }, |
| 75523 | 80724 | } }, |
| 75524 | 80725 | }, .{ |
| ... | ... | @@ -75560,7 +80761,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 75560 | 80761 | .extra_temps = .{ |
| 75561 | 80762 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 75562 | 80763 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 75563 | | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 80764 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| 75564 | 80765 | .unused, |
| 75565 | 80766 | .unused, |
| 75566 | 80767 | .unused, |
| ... | ... | @@ -75593,7 +80794,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 75593 | 80794 | .extra_temps = .{ |
| 75594 | 80795 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 75595 | 80796 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 75596 | | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 80797 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| 75597 | 80798 | .unused, |
| 75598 | 80799 | .unused, |
| 75599 | 80800 | .unused, |
| ... | ... | @@ -75623,7 +80824,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 75623 | 80824 | .extra_temps = .{ |
| 75624 | 80825 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 75625 | 80826 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 75626 | | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 80827 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| 75627 | 80828 | .unused, |
| 75628 | 80829 | .unused, |
| 75629 | 80830 | .unused, |
| ... | ... | @@ -75644,15 +80845,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 75644 | 80845 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| 75645 | 80846 | .{ ._, .f_pp, .ucom, ._, ._, ._, ._ }, |
| 75646 | 80847 | .{ ._, .fn_sw, .st, .tmp2w, ._, ._, ._ }, |
| 75647 | | .{ ._, ._, .xor, .tmp2b, .si(0b1_000_000), ._, ._ }, |
| 75648 | | .{ ._, ._, .@"test", .tmp2b, .si(0b1_000_100), ._, ._ }, |
| 80848 | .{ ._, ._, .xor, .tmp2h, .si(0b1_000_000), ._, ._ }, |
| 80849 | .{ ._, ._, .@"test", .tmp2h, .si(0b1_000_100), ._, ._ }, |
| 75649 | 80850 | }, |
| 75650 | 80851 | true => &.{ |
| 75651 | 80852 | .{ ._, .f_, .ld, .src1t, ._, ._, ._ }, |
| 75652 | 80853 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| 75653 | 80854 | .{ ._, .f_pp, .ucom, ._, ._, ._, ._ }, |
| 75654 | 80855 | .{ ._, .fn_sw, .st, .tmp2w, ._, ._, ._ }, |
| 75655 | | .{ ._, ._, .@"test", .tmp2b, .si(0b1_000_000), ._, ._ }, |
| 80856 | .{ ._, ._, .@"test", .tmp2h, .si(0b1_000_000), ._, ._ }, |
| 75656 | 80857 | }, |
| 75657 | 80858 | } }, |
| 75658 | 80859 | }, .{ |
| ... | ... | @@ -75666,7 +80867,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 75666 | 80867 | .extra_temps = .{ |
| 75667 | 80868 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 75668 | 80869 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 75669 | | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 80870 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| 75670 | 80871 | .unused, |
| 75671 | 80872 | .unused, |
| 75672 | 80873 | .unused, |
| ... | ... | @@ -75686,14 +80887,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 75686 | 80887 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| 75687 | 80888 | .{ ._, .f_p, .ucom, .src1t, ._, ._, ._ }, |
| 75688 | 80889 | .{ ._, .fn_sw, .st, .tmp2w, ._, ._, ._ }, |
| 75689 | | .{ ._, ._, .xor, .tmp2b, .si(0b1_000_000), ._, ._ }, |
| 75690 | | .{ ._, ._, .@"test", .tmp2b, .si(0b1_000_100), ._, ._ }, |
| 80890 | .{ ._, ._, .xor, .tmp2h, .si(0b1_000_000), ._, ._ }, |
| 80891 | .{ ._, ._, .@"test", .tmp2h, .si(0b1_000_100), ._, ._ }, |
| 75691 | 80892 | }, |
| 75692 | 80893 | true => &.{ |
| 75693 | 80894 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| 75694 | 80895 | .{ ._, .f_p, .ucom, .src1t, ._, ._, ._ }, |
| 75695 | 80896 | .{ ._, .fn_sw, .st, .tmp2w, ._, ._, ._ }, |
| 75696 | | .{ ._, ._, .@"test", .tmp2b, .si(0b1_000_000), ._, ._ }, |
| 80897 | .{ ._, ._, .@"test", .tmp2h, .si(0b1_000_000), ._, ._ }, |
| 75697 | 80898 | }, |
| 75698 | 80899 | } }, |
| 75699 | 80900 | }, .{ |
| ... | ... | @@ -83848,7 +89049,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 83848 | 89049 | }, .{ |
| 83849 | 89050 | .required_features = .{ .@"64bit", null, null, null }, |
| 83850 | 89051 | .src_constraints = .{ .any_int, .any, .any }, |
| 83851 | | .dst_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = .xword } }, .any }, |
| 89052 | .dst_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = 128 } }, .any }, |
| 83852 | 89053 | .patterns = &.{ |
| 83853 | 89054 | .{ .src = .{ .to_mem, .none, .none } }, |
| 83854 | 89055 | }, |
| ... | ... | @@ -83875,7 +89076,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 83875 | 89076 | }, .{ |
| 83876 | 89077 | .required_features = .{ .@"64bit", null, null, null }, |
| 83877 | 89078 | .src_constraints = .{ .any_signed_int, .any, .any }, |
| 83878 | | .dst_constraints = .{ .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, .any }, |
| 89079 | .dst_constraints = .{ .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, .any }, |
| 83879 | 89080 | .patterns = &.{ |
| 83880 | 89081 | .{ .src = .{ .to_mem, .none, .none } }, |
| 83881 | 89082 | }, |
| ... | ... | @@ -83973,7 +89174,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 83973 | 89174 | }, .{ |
| 83974 | 89175 | .required_features = .{ .@"64bit", null, null, null }, |
| 83975 | 89176 | .src_constraints = .{ .any_unsigned_int, .any, .any }, |
| 83976 | | .dst_constraints = .{ .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, .any }, |
| 89177 | .dst_constraints = .{ .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, .any }, |
| 83977 | 89178 | .patterns = &.{ |
| 83978 | 89179 | .{ .src = .{ .to_mem, .none, .none } }, |
| 83979 | 89180 | }, |
| ... | ... | @@ -110484,7 +115685,8 @@ fn regClassForType(self: *CodeGen, ty: Type) Register.Class { |
| 110484 | 115685 | fn regSetForRegClass(rc: Register.Class) RegisterManager.RegisterBitSet { |
| 110485 | 115686 | return switch (rc) { |
| 110486 | 115687 | .general_purpose => abi.RegisterClass.gp, |
| 110487 | | .gphi, .segment, .ip, .cr, .dr => unreachable, |
| 115688 | .gphi => abi.RegisterClass.gphi, |
| 115689 | .segment, .ip, .cr, .dr => unreachable, |
| 110488 | 115690 | .x87 => abi.RegisterClass.x87, |
| 110489 | 115691 | .mmx => @panic("TODO"), |
| 110490 | 115692 | .sse => abi.RegisterClass.sse, |
| ... | ... | @@ -122498,10 +127700,7 @@ fn airAsm(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 122498 | 127700 | else |
| 122499 | 127701 | return self.fail("invalid modifier: '{s}'", .{modifier}), |
| 122500 | 127702 | .register => |reg| if (std.mem.eql(u8, modifier, "")) |
| 122501 | | .{ .reg = if (mnem_size.use()) |size| |
| 122502 | | registerAlias(reg, @intCast(@divExact(size.bitSize(self.target), 8))) |
| 122503 | | else |
| 122504 | | reg } |
| 127703 | .{ .reg = if (mnem_size.use()) |size| reg.toSize(size, self.target) else reg } |
| 122505 | 127704 | else |
| 122506 | 127705 | return self.fail("invalid modifier: '{s}'", .{modifier}), |
| 122507 | 127706 | .memory => |addr| if (std.mem.eql(u8, modifier, "") or std.mem.eql(u8, modifier, "P")) |
| ... | ... | @@ -122887,11 +128086,7 @@ const MoveStrategy = union(enum) { |
| 122887 | 128086 | .move_through_gpr => { |
| 122888 | 128087 | const tmp_reg = try cg.register_manager.allocReg(null, abi.RegisterClass.gp); |
| 122889 | 128088 | try cg.asmRegisterRegister(.{ ._d, .mov }, tmp_reg.to32(), src_reg.to128()); |
| 122890 | | try cg.asmMemoryRegister( |
| 122891 | | .{ ._, .mov }, |
| 122892 | | dst_mem, |
| 122893 | | registerAlias(tmp_reg, @intCast(@divExact(dst_mem.mod.rm.size.bitSize(cg.target), 8))), |
| 122894 | | ); |
| 128089 | try cg.asmMemoryRegister(.{ ._, .mov }, dst_mem, tmp_reg.toSize(dst_mem.mod.rm.size, cg.target)); |
| 122895 | 128090 | }, |
| 122896 | 128091 | .load_store_through_frame => { |
| 122897 | 128092 | const tmp_frame_index = try cg.allocFrameIndex(.init(.{ |
| ... | ... | @@ -129941,7 +135136,7 @@ const Temp = struct { |
| 129941 | 135136 | .{ ._, ._, .@"and", .dst0q, .tmp0q, ._, ._ }, |
| 129942 | 135137 | } }, |
| 129943 | 135138 | }, .{ |
| 129944 | | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 135139 | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = 128 } }, .any, .any }, |
| 129945 | 135140 | .patterns = &.{ |
| 129946 | 135141 | .{ .src = .{ .mut_mem, .none, .none } }, |
| 129947 | 135142 | }, |
| ... | ... | @@ -129949,7 +135144,7 @@ const Temp = struct { |
| 129949 | 135144 | .each = .{ .once = &.{} }, |
| 129950 | 135145 | }, .{ |
| 129951 | 135146 | .required_features = .{ .@"64bit", null, null, null }, |
| 129952 | | .src_constraints = .{ .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| 135147 | .src_constraints = .{ .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, .any, .any }, |
| 129953 | 135148 | .patterns = &.{ |
| 129954 | 135149 | .{ .src = .{ .mut_mem, .none, .none } }, |
| 129955 | 135150 | }, |
| ... | ... | @@ -129975,7 +135170,7 @@ const Temp = struct { |
| 129975 | 135170 | } }, |
| 129976 | 135171 | }, .{ |
| 129977 | 135172 | .required_features = .{ .@"64bit", null, null, null }, |
| 129978 | | .src_constraints = .{ .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| 135173 | .src_constraints = .{ .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, .any, .any }, |
| 129979 | 135174 | .patterns = &.{ |
| 129980 | 135175 | .{ .src = .{ .mut_mem, .none, .none } }, |
| 129981 | 135176 | }, |
| ... | ... | @@ -132752,7 +137947,7 @@ const Temp = struct { |
| 132752 | 137947 | .{ ._, .p_, .xor, .src0x, .src1x, ._, ._ }, |
| 132753 | 137948 | .{ ._, .p_b, .cmpeq, .tmp1x, .src0x, ._, ._ }, |
| 132754 | 137949 | .{ ._, .p_b, .movmsk, .tmp0d, .tmp1x, ._, ._ }, |
| 132755 | | .{ ._, ._, .xor, .tmp0d, .si(0xffff), ._, ._ }, |
| 137950 | .{ ._, ._, .xor, .tmp0d, .si(std.math.maxInt(u16)), ._, ._ }, |
| 132756 | 137951 | } }, |
| 132757 | 137952 | }, .{ |
| 132758 | 137953 | .required_features = .{ .avx2, null, null, null }, |
| ... | ... | @@ -133083,7 +138278,7 @@ const Temp = struct { |
| 133083 | 138278 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 133084 | 138279 | .{ ._, .p_b, .cmpeq, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 133085 | 138280 | .{ ._, .p_b, .movmsk, .tmp2d, .tmp1x, ._, ._ }, |
| 133086 | | .{ ._, ._, .xor, .tmp2d, .ui(0xffff), ._, ._ }, |
| 138281 | .{ ._, ._, .xor, .tmp2d, .si(std.math.maxInt(u16)), ._, ._ }, |
| 133087 | 138282 | .{ ._, ._nz, .j, .@"0f", ._, ._, ._ }, |
| 133088 | 138283 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 133089 | 138284 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| ... | ... | @@ -134513,9 +139708,9 @@ const Select = struct { |
| 134513 | 139708 | remainder_int: OfIsSizes, |
| 134514 | 139709 | remainder_signed_int: OfIsSizes, |
| 134515 | 139710 | remainder_unsigned_int: OfIsSizes, |
| 134516 | | exact_remainder_int: OfIsSizes, |
| 134517 | | exact_remainder_signed_int: OfIsSizes, |
| 134518 | | exact_remainder_unsigned_int: OfIsSizes, |
| 139711 | exact_remainder_int: struct { of: Memory.Size, is: u16 }, |
| 139712 | exact_remainder_signed_int: struct { of: Memory.Size, is: u16 }, |
| 139713 | exact_remainder_unsigned_int: struct { of: Memory.Size, is: u16 }, |
| 134519 | 139714 | signed_or_exact_remainder_int: OfIsSizes, |
| 134520 | 139715 | unsigned_or_exact_remainder_int: OfIsSizes, |
| 134521 | 139716 | signed_int: Memory.Size, |
| ... | ... | @@ -134676,13 +139871,13 @@ const Select = struct { |
| 134676 | 139871 | .remainder_unsigned_int => |of_is| if (cg.intInfo(ty)) |int_info| int_info.signedness == .unsigned and |
| 134677 | 139872 | of_is.is.bitSize(cg.target) >= (int_info.bits - 1) % of_is.of.bitSize(cg.target) + 1 else false, |
| 134678 | 139873 | .exact_remainder_int => |of_is| if (cg.intInfo(ty)) |int_info| |
| 134679 | | of_is.is.bitSize(cg.target) == (int_info.bits - 1) % of_is.of.bitSize(cg.target) + 1 |
| 139874 | of_is.is == (int_info.bits - 1) % of_is.of.bitSize(cg.target) + 1 |
| 134680 | 139875 | else |
| 134681 | 139876 | false, |
| 134682 | 139877 | .exact_remainder_signed_int => |of_is| if (cg.intInfo(ty)) |int_info| int_info.signedness == .signed and |
| 134683 | | of_is.is.bitSize(cg.target) == (int_info.bits - 1) % of_is.of.bitSize(cg.target) + 1 else false, |
| 139878 | of_is.is == (int_info.bits - 1) % of_is.of.bitSize(cg.target) + 1 else false, |
| 134684 | 139879 | .exact_remainder_unsigned_int => |of_is| if (cg.intInfo(ty)) |int_info| int_info.signedness == .unsigned and |
| 134685 | | of_is.is.bitSize(cg.target) == (int_info.bits - 1) % of_is.of.bitSize(cg.target) + 1 else false, |
| 139880 | of_is.is == (int_info.bits - 1) % of_is.of.bitSize(cg.target) + 1 else false, |
| 134686 | 139881 | .signed_or_exact_remainder_int => |of_is| if (cg.intInfo(ty)) |int_info| switch (int_info.signedness) { |
| 134687 | 139882 | .signed => of_is.is.bitSize(cg.target) >= (int_info.bits - 1) % of_is.of.bitSize(cg.target) + 1, |
| 134688 | 139883 | .unsigned => of_is.is.bitSize(cg.target) == (int_info.bits - 1) % of_is.of.bitSize(cg.target) + 1, |
| ... | ... | @@ -135431,11 +140626,12 @@ const Select = struct { |
| 135431 | 140626 | const add_dst0_elem_size: Adjust = .{ .sign = .pos, .lhs = .dst0_elem_size, .op = .mul, .rhs = .@"1" }; |
| 135432 | 140627 | const add_elem_limbs: Adjust = .{ .sign = .pos, .lhs = .elem_limbs, .op = .mul, .rhs = .@"1" }; |
| 135433 | 140628 | const add_smin: Adjust = .{ .sign = .pos, .lhs = .smin, .op = .mul, .rhs = .@"1" }; |
| 140629 | const add_2_smin: Adjust = .{ .sign = .pos, .lhs = .smin, .op = .mul, .rhs = .@"2" }; |
| 135434 | 140630 | const sub_smin: Adjust = .{ .sign = .neg, .lhs = .smin, .op = .mul, .rhs = .@"1" }; |
| 135435 | 140631 | const add_smax: Adjust = .{ .sign = .pos, .lhs = .smax, .op = .mul, .rhs = .@"1" }; |
| 135436 | 140632 | const add_umax: Adjust = .{ .sign = .pos, .lhs = .umax, .op = .mul, .rhs = .@"1" }; |
| 135437 | | const sub_umax: Adjust = .{ .sign = .neg, .lhs = .umax, .op = .mul, .rhs = .@"1" }; |
| 135438 | 140633 | const add_umax_shr_src1: Adjust = .{ .sign = .pos, .lhs = .umax_shr_src1, .op = .mul, .rhs = .@"1" }; |
| 140634 | const sub_umax: Adjust = .{ .sign = .neg, .lhs = .umax, .op = .mul, .rhs = .@"1" }; |
| 135439 | 140635 | const repeat: Adjust = .{ .sign = .pos, .lhs = .repeat, .op = .mul, .rhs = .@"1" }; |
| 135440 | 140636 | }; |
| 135441 | 140637 | const Ref = enum(u5) { |
| ... | ... | @@ -135464,6 +140660,8 @@ const Select = struct { |
| 135464 | 140660 | const none: Sized = .{ .ref = .none, .size = .none }; |
| 135465 | 140661 | |
| 135466 | 140662 | const tmp0: Sized = .{ .ref = .tmp0, .size = .none }; |
| 140663 | const tmp0l: Sized = .{ .ref = .tmp0, .size = .low_byte }; |
| 140664 | const tmp0h: Sized = .{ .ref = .tmp0, .size = .high_byte }; |
| 135467 | 140665 | const tmp0b: Sized = .{ .ref = .tmp0, .size = .byte }; |
| 135468 | 140666 | const tmp0w: Sized = .{ .ref = .tmp0, .size = .word }; |
| 135469 | 140667 | const tmp0d: Sized = .{ .ref = .tmp0, .size = .dword }; |
| ... | ... | @@ -135475,6 +140673,8 @@ const Select = struct { |
| 135475 | 140673 | const tmp0y: Sized = .{ .ref = .tmp0, .size = .yword }; |
| 135476 | 140674 | |
| 135477 | 140675 | const tmp1: Sized = .{ .ref = .tmp1, .size = .none }; |
| 140676 | const tmp1l: Sized = .{ .ref = .tmp1, .size = .low_byte }; |
| 140677 | const tmp1h: Sized = .{ .ref = .tmp1, .size = .high_byte }; |
| 135478 | 140678 | const tmp1b: Sized = .{ .ref = .tmp1, .size = .byte }; |
| 135479 | 140679 | const tmp1w: Sized = .{ .ref = .tmp1, .size = .word }; |
| 135480 | 140680 | const tmp1d: Sized = .{ .ref = .tmp1, .size = .dword }; |
| ... | ... | @@ -135486,6 +140686,8 @@ const Select = struct { |
| 135486 | 140686 | const tmp1y: Sized = .{ .ref = .tmp1, .size = .yword }; |
| 135487 | 140687 | |
| 135488 | 140688 | const tmp2: Sized = .{ .ref = .tmp2, .size = .none }; |
| 140689 | const tmp2l: Sized = .{ .ref = .tmp2, .size = .low_byte }; |
| 140690 | const tmp2h: Sized = .{ .ref = .tmp2, .size = .high_byte }; |
| 135489 | 140691 | const tmp2b: Sized = .{ .ref = .tmp2, .size = .byte }; |
| 135490 | 140692 | const tmp2w: Sized = .{ .ref = .tmp2, .size = .word }; |
| 135491 | 140693 | const tmp2d: Sized = .{ .ref = .tmp2, .size = .dword }; |
| ... | ... | @@ -135497,6 +140699,8 @@ const Select = struct { |
| 135497 | 140699 | const tmp2y: Sized = .{ .ref = .tmp2, .size = .yword }; |
| 135498 | 140700 | |
| 135499 | 140701 | const tmp3: Sized = .{ .ref = .tmp3, .size = .none }; |
| 140702 | const tmp3l: Sized = .{ .ref = .tmp3, .size = .low_byte }; |
| 140703 | const tmp3h: Sized = .{ .ref = .tmp3, .size = .high_byte }; |
| 135500 | 140704 | const tmp3b: Sized = .{ .ref = .tmp3, .size = .byte }; |
| 135501 | 140705 | const tmp3w: Sized = .{ .ref = .tmp3, .size = .word }; |
| 135502 | 140706 | const tmp3d: Sized = .{ .ref = .tmp3, .size = .dword }; |
| ... | ... | @@ -135508,6 +140712,8 @@ const Select = struct { |
| 135508 | 140712 | const tmp3y: Sized = .{ .ref = .tmp3, .size = .yword }; |
| 135509 | 140713 | |
| 135510 | 140714 | const tmp4: Sized = .{ .ref = .tmp4, .size = .none }; |
| 140715 | const tmp4l: Sized = .{ .ref = .tmp4, .size = .low_byte }; |
| 140716 | const tmp4h: Sized = .{ .ref = .tmp4, .size = .high_byte }; |
| 135511 | 140717 | const tmp4b: Sized = .{ .ref = .tmp4, .size = .byte }; |
| 135512 | 140718 | const tmp4w: Sized = .{ .ref = .tmp4, .size = .word }; |
| 135513 | 140719 | const tmp4d: Sized = .{ .ref = .tmp4, .size = .dword }; |
| ... | ... | @@ -135519,6 +140725,8 @@ const Select = struct { |
| 135519 | 140725 | const tmp4y: Sized = .{ .ref = .tmp4, .size = .yword }; |
| 135520 | 140726 | |
| 135521 | 140727 | const tmp5: Sized = .{ .ref = .tmp5, .size = .none }; |
| 140728 | const tmp5l: Sized = .{ .ref = .tmp5, .size = .low_byte }; |
| 140729 | const tmp5h: Sized = .{ .ref = .tmp5, .size = .high_byte }; |
| 135522 | 140730 | const tmp5b: Sized = .{ .ref = .tmp5, .size = .byte }; |
| 135523 | 140731 | const tmp5w: Sized = .{ .ref = .tmp5, .size = .word }; |
| 135524 | 140732 | const tmp5d: Sized = .{ .ref = .tmp5, .size = .dword }; |
| ... | ... | @@ -135530,6 +140738,8 @@ const Select = struct { |
| 135530 | 140738 | const tmp5y: Sized = .{ .ref = .tmp5, .size = .yword }; |
| 135531 | 140739 | |
| 135532 | 140740 | const tmp6: Sized = .{ .ref = .tmp6, .size = .none }; |
| 140741 | const tmp6l: Sized = .{ .ref = .tmp6, .size = .low_byte }; |
| 140742 | const tmp6h: Sized = .{ .ref = .tmp6, .size = .high_byte }; |
| 135533 | 140743 | const tmp6b: Sized = .{ .ref = .tmp6, .size = .byte }; |
| 135534 | 140744 | const tmp6w: Sized = .{ .ref = .tmp6, .size = .word }; |
| 135535 | 140745 | const tmp6d: Sized = .{ .ref = .tmp6, .size = .dword }; |
| ... | ... | @@ -135541,6 +140751,8 @@ const Select = struct { |
| 135541 | 140751 | const tmp6y: Sized = .{ .ref = .tmp6, .size = .yword }; |
| 135542 | 140752 | |
| 135543 | 140753 | const tmp7: Sized = .{ .ref = .tmp7, .size = .none }; |
| 140754 | const tmp7l: Sized = .{ .ref = .tmp7, .size = .low_byte }; |
| 140755 | const tmp7h: Sized = .{ .ref = .tmp7, .size = .high_byte }; |
| 135544 | 140756 | const tmp7b: Sized = .{ .ref = .tmp7, .size = .byte }; |
| 135545 | 140757 | const tmp7w: Sized = .{ .ref = .tmp7, .size = .word }; |
| 135546 | 140758 | const tmp7d: Sized = .{ .ref = .tmp7, .size = .dword }; |
| ... | ... | @@ -135552,6 +140764,8 @@ const Select = struct { |
| 135552 | 140764 | const tmp7y: Sized = .{ .ref = .tmp7, .size = .yword }; |
| 135553 | 140765 | |
| 135554 | 140766 | const tmp8: Sized = .{ .ref = .tmp8, .size = .none }; |
| 140767 | const tmp8l: Sized = .{ .ref = .tmp8, .size = .low_byte }; |
| 140768 | const tmp8h: Sized = .{ .ref = .tmp8, .size = .high_byte }; |
| 135555 | 140769 | const tmp8b: Sized = .{ .ref = .tmp8, .size = .byte }; |
| 135556 | 140770 | const tmp8w: Sized = .{ .ref = .tmp8, .size = .word }; |
| 135557 | 140771 | const tmp8d: Sized = .{ .ref = .tmp8, .size = .dword }; |
| ... | ... | @@ -135563,6 +140777,8 @@ const Select = struct { |
| 135563 | 140777 | const tmp8y: Sized = .{ .ref = .tmp8, .size = .yword }; |
| 135564 | 140778 | |
| 135565 | 140779 | const tmp9: Sized = .{ .ref = .tmp9, .size = .none }; |
| 140780 | const tmp9l: Sized = .{ .ref = .tmp9, .size = .low_byte }; |
| 140781 | const tmp9h: Sized = .{ .ref = .tmp9, .size = .high_byte }; |
| 135566 | 140782 | const tmp9b: Sized = .{ .ref = .tmp9, .size = .byte }; |
| 135567 | 140783 | const tmp9w: Sized = .{ .ref = .tmp9, .size = .word }; |
| 135568 | 140784 | const tmp9d: Sized = .{ .ref = .tmp9, .size = .dword }; |
| ... | ... | @@ -135574,6 +140790,8 @@ const Select = struct { |
| 135574 | 140790 | const tmp9y: Sized = .{ .ref = .tmp9, .size = .yword }; |
| 135575 | 140791 | |
| 135576 | 140792 | const tmp10: Sized = .{ .ref = .tmp10, .size = .none }; |
| 140793 | const tmp10l: Sized = .{ .ref = .tmp10, .size = .low_byte }; |
| 140794 | const tmp10h: Sized = .{ .ref = .tmp10, .size = .high_byte }; |
| 135577 | 140795 | const tmp10b: Sized = .{ .ref = .tmp10, .size = .byte }; |
| 135578 | 140796 | const tmp10w: Sized = .{ .ref = .tmp10, .size = .word }; |
| 135579 | 140797 | const tmp10d: Sized = .{ .ref = .tmp10, .size = .dword }; |
| ... | ... | @@ -135585,6 +140803,8 @@ const Select = struct { |
| 135585 | 140803 | const tmp10y: Sized = .{ .ref = .tmp10, .size = .yword }; |
| 135586 | 140804 | |
| 135587 | 140805 | const dst0: Sized = .{ .ref = .dst0, .size = .none }; |
| 140806 | const dst0l: Sized = .{ .ref = .dst0, .size = .low_byte }; |
| 140807 | const dst0h: Sized = .{ .ref = .dst0, .size = .high_byte }; |
| 135588 | 140808 | const dst0b: Sized = .{ .ref = .dst0, .size = .byte }; |
| 135589 | 140809 | const dst0w: Sized = .{ .ref = .dst0, .size = .word }; |
| 135590 | 140810 | const dst0d: Sized = .{ .ref = .dst0, .size = .dword }; |
| ... | ... | @@ -135596,6 +140816,8 @@ const Select = struct { |
| 135596 | 140816 | const dst0y: Sized = .{ .ref = .dst0, .size = .yword }; |
| 135597 | 140817 | |
| 135598 | 140818 | const dst1: Sized = .{ .ref = .dst1, .size = .none }; |
| 140819 | const dst1l: Sized = .{ .ref = .dst1, .size = .low_byte }; |
| 140820 | const dst1h: Sized = .{ .ref = .dst1, .size = .high_byte }; |
| 135599 | 140821 | const dst1b: Sized = .{ .ref = .dst1, .size = .byte }; |
| 135600 | 140822 | const dst1w: Sized = .{ .ref = .dst1, .size = .word }; |
| 135601 | 140823 | const dst1d: Sized = .{ .ref = .dst1, .size = .dword }; |
| ... | ... | @@ -135607,6 +140829,8 @@ const Select = struct { |
| 135607 | 140829 | const dst1y: Sized = .{ .ref = .dst1, .size = .yword }; |
| 135608 | 140830 | |
| 135609 | 140831 | const src0: Sized = .{ .ref = .src0, .size = .none }; |
| 140832 | const src0l: Sized = .{ .ref = .src0, .size = .low_byte }; |
| 140833 | const src0h: Sized = .{ .ref = .src0, .size = .high_byte }; |
| 135610 | 140834 | const src0b: Sized = .{ .ref = .src0, .size = .byte }; |
| 135611 | 140835 | const src0w: Sized = .{ .ref = .src0, .size = .word }; |
| 135612 | 140836 | const src0d: Sized = .{ .ref = .src0, .size = .dword }; |
| ... | ... | @@ -135618,6 +140842,8 @@ const Select = struct { |
| 135618 | 140842 | const src0y: Sized = .{ .ref = .src0, .size = .yword }; |
| 135619 | 140843 | |
| 135620 | 140844 | const src1: Sized = .{ .ref = .src1, .size = .none }; |
| 140845 | const src1l: Sized = .{ .ref = .src1, .size = .low_byte }; |
| 140846 | const src1h: Sized = .{ .ref = .src1, .size = .high_byte }; |
| 135621 | 140847 | const src1b: Sized = .{ .ref = .src1, .size = .byte }; |
| 135622 | 140848 | const src1w: Sized = .{ .ref = .src1, .size = .word }; |
| 135623 | 140849 | const src1d: Sized = .{ .ref = .src1, .size = .dword }; |
| ... | ... | @@ -135629,6 +140855,8 @@ const Select = struct { |
| 135629 | 140855 | const src1y: Sized = .{ .ref = .src1, .size = .yword }; |
| 135630 | 140856 | |
| 135631 | 140857 | const src2: Sized = .{ .ref = .src2, .size = .none }; |
| 140858 | const src2l: Sized = .{ .ref = .src2, .size = .low_byte }; |
| 140859 | const src2h: Sized = .{ .ref = .src2, .size = .high_byte }; |
| 135632 | 140860 | const src2b: Sized = .{ .ref = .src2, .size = .byte }; |
| 135633 | 140861 | const src2w: Sized = .{ .ref = .src2, .size = .word }; |
| 135634 | 140862 | const src2d: Sized = .{ .ref = .src2, .size = .dword }; |
| ... | ... | @@ -135669,6 +140897,8 @@ const Select = struct { |
| 135669 | 140897 | const @"4b": Select.Operand = .{ .flags = .{ .tag = .backward_label, .base = .{ .ref = .tmp4, .size = .none } } }; |
| 135670 | 140898 | const @"4f": Select.Operand = .{ .flags = .{ .tag = .forward_label, .base = .{ .ref = .tmp4, .size = .none } } }; |
| 135671 | 140899 | |
| 140900 | const tmp0l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp0l } }; |
| 140901 | const tmp0h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp0h } }; |
| 135672 | 140902 | const tmp0b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp0b } }; |
| 135673 | 140903 | const tmp0w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp0w } }; |
| 135674 | 140904 | const tmp0d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp0d } }; |
| ... | ... | @@ -135679,6 +140909,8 @@ const Select = struct { |
| 135679 | 140909 | const tmp0x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp0x } }; |
| 135680 | 140910 | const tmp0y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp0y } }; |
| 135681 | 140911 | |
| 140912 | const tmp1l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp1l } }; |
| 140913 | const tmp1h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp1h } }; |
| 135682 | 140914 | const tmp1b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp1b } }; |
| 135683 | 140915 | const tmp1w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp1w } }; |
| 135684 | 140916 | const tmp1d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp1d } }; |
| ... | ... | @@ -135689,6 +140921,8 @@ const Select = struct { |
| 135689 | 140921 | const tmp1x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp1x } }; |
| 135690 | 140922 | const tmp1y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp1y } }; |
| 135691 | 140923 | |
| 140924 | const tmp2l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp2l } }; |
| 140925 | const tmp2h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp2h } }; |
| 135692 | 140926 | const tmp2b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp2b } }; |
| 135693 | 140927 | const tmp2w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp2w } }; |
| 135694 | 140928 | const tmp2d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp2d } }; |
| ... | ... | @@ -135699,6 +140933,8 @@ const Select = struct { |
| 135699 | 140933 | const tmp2x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp2x } }; |
| 135700 | 140934 | const tmp2y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp2y } }; |
| 135701 | 140935 | |
| 140936 | const tmp3l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp3l } }; |
| 140937 | const tmp3h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp3h } }; |
| 135702 | 140938 | const tmp3b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp3b } }; |
| 135703 | 140939 | const tmp3w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp3w } }; |
| 135704 | 140940 | const tmp3d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp3d } }; |
| ... | ... | @@ -135709,6 +140945,8 @@ const Select = struct { |
| 135709 | 140945 | const tmp3x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp3x } }; |
| 135710 | 140946 | const tmp3y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp3y } }; |
| 135711 | 140947 | |
| 140948 | const tmp4l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp4l } }; |
| 140949 | const tmp4h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp4h } }; |
| 135712 | 140950 | const tmp4b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp4b } }; |
| 135713 | 140951 | const tmp4w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp4w } }; |
| 135714 | 140952 | const tmp4d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp4d } }; |
| ... | ... | @@ -135719,6 +140957,8 @@ const Select = struct { |
| 135719 | 140957 | const tmp4x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp4x } }; |
| 135720 | 140958 | const tmp4y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp4y } }; |
| 135721 | 140959 | |
| 140960 | const tmp5l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp5l } }; |
| 140961 | const tmp5h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp5h } }; |
| 135722 | 140962 | const tmp5b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp5b } }; |
| 135723 | 140963 | const tmp5w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp5w } }; |
| 135724 | 140964 | const tmp5d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp5d } }; |
| ... | ... | @@ -135729,6 +140969,8 @@ const Select = struct { |
| 135729 | 140969 | const tmp5x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp5x } }; |
| 135730 | 140970 | const tmp5y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp5y } }; |
| 135731 | 140971 | |
| 140972 | const tmp6l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp6l } }; |
| 140973 | const tmp6h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp6h } }; |
| 135732 | 140974 | const tmp6b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp6b } }; |
| 135733 | 140975 | const tmp6w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp6w } }; |
| 135734 | 140976 | const tmp6d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp6d } }; |
| ... | ... | @@ -135739,6 +140981,8 @@ const Select = struct { |
| 135739 | 140981 | const tmp6x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp6x } }; |
| 135740 | 140982 | const tmp6y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp6y } }; |
| 135741 | 140983 | |
| 140984 | const tmp7l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp7l } }; |
| 140985 | const tmp7h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp7h } }; |
| 135742 | 140986 | const tmp7b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp7b } }; |
| 135743 | 140987 | const tmp7w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp7w } }; |
| 135744 | 140988 | const tmp7d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp7d } }; |
| ... | ... | @@ -135749,6 +140993,8 @@ const Select = struct { |
| 135749 | 140993 | const tmp7x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp7x } }; |
| 135750 | 140994 | const tmp7y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp7y } }; |
| 135751 | 140995 | |
| 140996 | const tmp8l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp8l } }; |
| 140997 | const tmp8h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp8h } }; |
| 135752 | 140998 | const tmp8b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp8b } }; |
| 135753 | 140999 | const tmp8w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp8w } }; |
| 135754 | 141000 | const tmp8d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp8d } }; |
| ... | ... | @@ -135759,6 +141005,8 @@ const Select = struct { |
| 135759 | 141005 | const tmp8x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp8x } }; |
| 135760 | 141006 | const tmp8y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp8y } }; |
| 135761 | 141007 | |
| 141008 | const tmp9l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp9l } }; |
| 141009 | const tmp9h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp9h } }; |
| 135762 | 141010 | const tmp9b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp9b } }; |
| 135763 | 141011 | const tmp9w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp9w } }; |
| 135764 | 141012 | const tmp9d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp9d } }; |
| ... | ... | @@ -135769,6 +141017,8 @@ const Select = struct { |
| 135769 | 141017 | const tmp9x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp9x } }; |
| 135770 | 141018 | const tmp9y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp9y } }; |
| 135771 | 141019 | |
| 141020 | const tmp10l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp10l } }; |
| 141021 | const tmp10h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp10h } }; |
| 135772 | 141022 | const tmp10b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp10b } }; |
| 135773 | 141023 | const tmp10w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp10w } }; |
| 135774 | 141024 | const tmp10d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp10d } }; |
| ... | ... | @@ -135779,6 +141029,8 @@ const Select = struct { |
| 135779 | 141029 | const tmp10x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp10x } }; |
| 135780 | 141030 | const tmp10y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp10y } }; |
| 135781 | 141031 | |
| 141032 | const dst0l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst0l } }; |
| 141033 | const dst0h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst0h } }; |
| 135782 | 141034 | const dst0b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst0b } }; |
| 135783 | 141035 | const dst0w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst0w } }; |
| 135784 | 141036 | const dst0d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst0d } }; |
| ... | ... | @@ -135789,6 +141041,8 @@ const Select = struct { |
| 135789 | 141041 | const dst0x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst0x } }; |
| 135790 | 141042 | const dst0y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst0y } }; |
| 135791 | 141043 | |
| 141044 | const dst1l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst1l } }; |
| 141045 | const dst1h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst1h } }; |
| 135792 | 141046 | const dst1b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst1b } }; |
| 135793 | 141047 | const dst1w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst1w } }; |
| 135794 | 141048 | const dst1d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst1d } }; |
| ... | ... | @@ -135799,6 +141053,8 @@ const Select = struct { |
| 135799 | 141053 | const dst1x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst1x } }; |
| 135800 | 141054 | const dst1y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst1y } }; |
| 135801 | 141055 | |
| 141056 | const src0l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src0l } }; |
| 141057 | const src0h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src0h } }; |
| 135802 | 141058 | const src0b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src0b } }; |
| 135803 | 141059 | const src0w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src0w } }; |
| 135804 | 141060 | const src0d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src0d } }; |
| ... | ... | @@ -135809,6 +141065,8 @@ const Select = struct { |
| 135809 | 141065 | const src0x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src0x } }; |
| 135810 | 141066 | const src0y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src0y } }; |
| 135811 | 141067 | |
| 141068 | const src1l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src1l } }; |
| 141069 | const src1h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src1h } }; |
| 135812 | 141070 | const src1b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src1b } }; |
| 135813 | 141071 | const src1w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src1w } }; |
| 135814 | 141072 | const src1d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src1d } }; |
| ... | ... | @@ -135819,6 +141077,8 @@ const Select = struct { |
| 135819 | 141077 | const src1x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src1x } }; |
| 135820 | 141078 | const src1y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src1y } }; |
| 135821 | 141079 | |
| 141080 | const src2l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src2l } }; |
| 141081 | const src2h: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src2h } }; |
| 135822 | 141082 | const src2b: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src2b } }; |
| 135823 | 141083 | const src2w: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src2w } }; |
| 135824 | 141084 | const src2d: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src2d } }; |
| ... | ... | @@ -136194,7 +141454,7 @@ const Select = struct { |
| 136194 | 141454 | else => unreachable, |
| 136195 | 141455 | } }, |
| 136196 | 141456 | else => |mcv| .{ .mem = try mcv.mem(s.cg, .{ .size = op.flags.base.size }) }, |
| 136197 | | .register => |reg| .{ .reg = s.lowerReg(registerAlias(reg, @intCast(@divExact(op.flags.base.size.bitSize(s.cg.target), 8)))) }, |
| 141457 | .register => |reg| .{ .reg = s.lowerReg(reg.toSize(op.flags.base.size, s.cg.target)) }, |
| 136198 | 141458 | .lea_symbol => |sym_off| .{ .imm = .rel(sym_off) }, |
| 136199 | 141459 | }, |
| 136200 | 141460 | .simm => .{ .imm = .s(op.adjustedImm(i32, s)) }, |
| ... | ... | @@ -136203,8 +141463,8 @@ const Select = struct { |
| 136203 | 141463 | .base = switch (op.flags.base.ref.valueOf(s)) { |
| 136204 | 141464 | else => unreachable, |
| 136205 | 141465 | .none => .none, |
| 136206 | | .register => |base_reg| .{ .reg = registerAlias(base_reg, @divExact(s.cg.target.ptrBitWidth(), 8)) }, |
| 136207 | | .register_offset => |base_reg_off| .{ .reg = registerAlias(base_reg_off.reg, @divExact(s.cg.target.ptrBitWidth(), 8)) }, |
| 141466 | .register => |base_reg| .{ .reg = base_reg.toSize(.ptr, s.cg.target) }, |
| 141467 | .register_offset => |base_reg_off| .{ .reg = base_reg_off.reg.toSize(.ptr, s.cg.target) }, |
| 136208 | 141468 | .lea_symbol => |base_sym_off| .{ .reloc = base_sym_off.sym_index }, |
| 136209 | 141469 | }, |
| 136210 | 141470 | .mod = .{ .rm = .{ |
| ... | ... | @@ -136212,8 +141472,8 @@ const Select = struct { |
| 136212 | 141472 | .index = switch (op.flags.index.ref.valueOf(s)) { |
| 136213 | 141473 | else => unreachable, |
| 136214 | 141474 | .none => .none, |
| 136215 | | .register => |index_reg| registerAlias(index_reg, @divExact(s.cg.target.ptrBitWidth(), 8)), |
| 136216 | | .register_offset => |index_reg_off| registerAlias(index_reg_off.reg, @divExact(s.cg.target.ptrBitWidth(), 8)), |
| 141475 | .register => |index_reg| index_reg.toSize(.ptr, s.cg.target), |
| 141476 | .register_offset => |index_reg_off| index_reg_off.reg.toSize(.ptr, s.cg.target), |
| 136217 | 141477 | }, |
| 136218 | 141478 | .scale = op.flags.index.scale, |
| 136219 | 141479 | .disp = op.adjustedImm(i32, s) + switch (op.flags.base.ref.valueOf(s)) { |
| ... | ... | @@ -136234,7 +141494,7 @@ const Select = struct { |
| 136234 | 141494 | .index = switch (op.flags.index.ref.valueOf(s)) { |
| 136235 | 141495 | else => unreachable, |
| 136236 | 141496 | .none => .none, |
| 136237 | | .register => |index_reg| registerAlias(index_reg, @divExact(s.cg.target.ptrBitWidth(), 8)), |
| 141497 | .register => |index_reg| index_reg.toSize(.ptr, s.cg.target), |
| 136238 | 141498 | }, |
| 136239 | 141499 | .scale = op.flags.index.scale, |
| 136240 | 141500 | .disp = op.adjustedImm(i32, s), |