Deleted Added
sdiff udiff text old ( 5081:2ccce8600a9d ) new ( 5420:dc0041a51920 )
full compact
1# Copyright (c) 2007 The Hewlett-Packard Development Company
2# All rights reserved.
3#
4# Redistribution and use of this software in source and binary forms,
5# with or without modification, are permitted provided that the
6# following conditions are met:
7#
8# The software must be used only for Non-Commercial Use which means any
9# use which is NOT directed to receiving any direct monetary

--- 60 unchanged lines hidden (view full) ---

70};
71
72#
73# Versions which have the rep prefix. These could benefit from some loop
74# unrolling.
75#
76
77def macroop CMPS_E_M_M {
78 # Find the constant we need to either add or subtract from rdi
79 ruflag t0, 10
80 movi t3, t3, dsz, flags=(CEZF,), dataSize=asz
81 subi t4, t0, dsz, dataSize=asz
82 mov t3, t3, t4, flags=(nCEZF,), dataSize=asz
83
84 ld t1, seg, [1, t0, rsi]
85 ld t2, es, [1, t0, rdi]
86 sub t0, t1, t2, flags=(OF, SF, ZF, AF, PF, CF)
87
88 subi rcx, rcx, 1, flags=(EZF,), dataSize=asz
89 add rdi, rdi, t3, dataSize=asz
90 add rsi, rsi, t3, dataSize=asz
91 bri t0, 4, flags=(CSTRZnEZF,)
92 fault "NoFault"
93};
94
95def macroop CMPS_N_M_M {
96 # Find the constant we need to either add or subtract from rdi
97 ruflag t0, 10
98 movi t3, t3, dsz, flags=(CEZF,), dataSize=asz
99 subi t4, t0, dsz, dataSize=asz
100 mov t3, t3, t4, flags=(nCEZF,), dataSize=asz
101
102 ld t1, seg, [1, t0, rsi]
103 ld t2, es, [1, t0, rdi]
104 sub t0, t1, t2, flags=(OF, SF, ZF, AF, PF, CF)
105
106 subi rcx, rcx, 1, flags=(EZF,), dataSize=asz
107 add rdi, rdi, t3, dataSize=asz
108 add rsi, rsi, t3, dataSize=asz
109 bri t0, 4, flags=(CSTRnZnEZF,)
110 fault "NoFault"
111};
112'''