It is allowed to read anywhere from any memory page containing at least one
byte of a ShortString, PChar, AnsiString or WideString string, including a #0
terminator.
It is not allowed to write past the end of AnsiStrings.
All
functions must pass validation with range check on/off.
All functions must
pass validation with overflow check on/off.
All functions must pass validation with optimization on/off.
Functions are allowed to set
compiler switches, but must reset them again.
A function can not rely on the
FPU controlword or MXCSR register being default.
A function must leave the
FPU controlword and the MXCSR register as it is at function entry.
Functions
must behave exactly as the RTL functions do.
The rule above implies that
functions must support non-nil-zero-length strings only if the RTL function
does.
It is not allowed to use memory below the stack pointer.
Functions
must not generate compiler warnings.
A function must allocate exactly enough space for a result string, but it is allowed to allocate extra bytes as long as the total size in dwords (including the #0 terminator) is the same
It is allowed to use the Rep Ret Instruction on all AMD targets. It is not allowed on all other targets.
It is allowed to read past the end of AnsiStrings and WideStrings including
the dword containing the zero-terminator.
It is not allowed to read past the
end of ShortStrings and PChar strings.
The fastest function that will run on all Pentium 4 Presler is the winner of this category. All instruction sets supported by the Pentium 4 Presler can be used. This includes: IA32, IA32 extensions, MMX, SSE, SSE2 and SSE3.
The fastest function that will run on all Pentium 4 Northwood is the winner of this category. All instruction sets supported by the Pentium 4 Northwood can be used. This includes: IA32, IA32 extensions, MMX, SSE and SSE2.
The fastest function that will run on all Pentium M Yonah is the winner of this category. All instruction sets supported by the Pentium M Yonah can be used. This includes: IA32, IA32 extensions, MMX, SSE, SSE2 and SSE3.
The fastest function that will run on all Core 2 Duo is the winner of this category. All instruction sets supported by the Core 2 Duo can be used. This includes: IA32, IA32 extensions, MMX, SSE, SSE2, SSE3 and SSSE3.
The fastest function that will run on all Dual Core Opteron/FX51/XP64 X2 is the winner of this category. All instruction sets supported by AMD Dual Core Opteron/FX51/XP64 X2 can be used. This includes: IA32, IA32 extensions, MMX, SSE, SSE2, SSE3, 3D-Now and 3D-Now+.
The fastest function that will run on all Opteron/FX51/XP64 is the winner of this category. All instruction sets supported by the Opteron/FX51/XP64 can be used. This includes: IA32, IA32 extensions, MMX, SSE, SSE2, 3D-Now and 3D-Now+.
Allowed instructionset is: IA32. All function parts must be coded in Pascal. Functions in this category must run on 486, Pentium, Pentium MMX, Pentium Pro, Pentium 2, Pentium 3, Pentium 4Northwood, Pentium 4 Prescott, Pentium M, AMD K6-2 and AMD K6-3, Athlon, Athlon XP, Opteron, Transmeta and Cyrix. A set of benchmark results includes one benchmark from 1 Pentium 4 Prescott, 1 Pentium 4 Northwood, 1 Pentium M Yonah, 1 Core 2 Duo, 1 AMD 64 X2 and 1 AMD 64
Allowed instructionset is: IA32. All function parts must be coded in Pascal. Functions in this category must run on 486, Pentium, Pentium MMX, Pentium Pro, Pentium 2, Pentium 3, Pentium 4Northwood, Pentium 4 Prescott, Pentium M, AMD K6-2 and AMD K6-3, Athlon, Athlon XP, Opteron, Transmeta and Cyrix. Each challenge will supply it's own benchmark formula that adds a penalty for code size. A set of benchmark results includes one benchmark from 1 Pentium 4 Prescott, 1 Pentium 4 Northwood, 1 Pentium M Yonah, 1 Core 2 Duo, 1 AMD 64 X2 and 1 AMD 64
Allowed instructionset is: IA32. Functions in this category must run on 486, Pentium, Pentium MMX, Pentium Pro, Pentium 2, Pentium 3, Pentium 4Northwood, Pentium 4 Prescott, Pentium M, AMD K6-2 and AMD K6-3, Athlon, Athlon XP, Opteron, Transmeta and Cyrix. A set of benchmark results includes one benchmark from 1 Pentium 4 Presler, 1 Pentium 4 Northwood, 1 Pentium M Yonah, 1 Pentium Core 2 Duo, 1 AMD 64 X2 and 1 AM 64
Allowed instructionset is: IA32. Functions in this category must run on 486, Pentium, Pentium MMX, Pentium Pro, Pentium 2, Pentium 3, Pentium 4 Northwood, Pentium 4 Prescott, Pentium M, AMD K6-2 and AMD K6-3, Athlon, Athlon XP, AMd 64, AMD 64 X2, Transmeta and Cyrix. Each challenge will supply it's own benchmark formula that adds a penalty for code size. A set of benchmark results includes one benchmark from 1 Pentium 4 Presler, 1 Pentium 4 Northwood, 1 Pentium M Yonah, 1 Core 2 Duo, 1 AMD 64 X2 and 1 AM 64
Allowed instructionsets are: IA32, IA32 extensions and MMX. The winner is the fastest function that will run on Pentium 4 Presler, Pentium 4 Northwood, Pentium M Yonah, Pentium M Dothan, Pentium 3, Pentium 2, Athlon, Athlon XP and Opteron. The set of benchmark results used to calculate the winner are: 1 Pentium 4 Presler, 1 Pentium 4 Northwood, 1 Pentium M Yonah, 1 Core 2 Duo, 1 AMD 64 X2 and 1 AMD 64.
Allowed instructionsets are: IA32, IA32 extensions and MMX. The winner is the fastest function that will run on Pentium 4 Presler, Pentium 4 Northwood, Pentium M Yonah, Pentium M Dothan, Pentium 3, Pentium 2, Athlon, Athlon XP and Opteron. Each challenge will supply it's own benchmark formula that adds a penalty for code size. A set of benchmark results includes one benchmark from 1 Pentium 4 Presler, 1 Pentium 4 Northwood, 1 Pentium M Yonah, 1 Core 2 Duo, 1 AMD 64 X2 and 1 AMD 64
Allowed instruction sets are: IA32, IA32 extensions, MMX and SSE. The winner is the fastest function that will run on Pentium 4 Presler, Pentium 4 Northwood, Pentium M Yonah, Pentium M Dothan, Pentium 3, Athlon, Athlon XP and Opteron. The set of benchmark results used to calculate the winner are: 1 Pentium 4 Presler, 1 Pentium 4 Northwood, 1 Pentium M Yonah, 1 Core 2 Duo, 1 AMD X2 and 1 AMD 64.
Allowed instructionsets are: IA32, IA32 extensions, MMX, SSE and SSE2. The winner is the fastest function that will run on Pentium 4 Presler, Pentium 4 Northwood, Pentium M Yonah, Pentium M Dothan, Athlon XP and AMD 64. The set of benchmark results used to calculate the winner are: 1 Pentium 4 Presler, 1 Pentium 4 Northwood, 1 Pentium M Yonah, 1 Core 2 Duo, 1 AMD 64 X2 and 1 AMD 64.
Allowed instructionsets are: IA32, IA32 extensions, MMX, SSE, SSE2 and SSE3. The winner is the fastest function that will run on Pentium 4 Presler, Pentium M Yonah, AMD 64 X2 and Core 2 Duo. The set of benchmark results used to calculate the winner are: 1 Pentium 4 Presler, 1 Pentium M Yonah, 1 Core 2 Duo, 1 AMD 64 X2
Allowed instructionsets are: IA32, IA32 extensions, MMX, SSE, SSE2, SSSE3. The winner is the fastest function that will run on Core 2 Duo. Currently Core 2 Duo is the only CPU that has SSSE3 support.
None at the moment
A target winner gives 10 points.
A target entry gives 1 point.
Only one
target entry per target gives points.