Looking through the tests that fail on aarch64-linux I found ten that depend on an arithmetical operation causing an exception, usually division by zero:
tbs/tb0262 test/texception4 test/units/math/tmask test/units/math/tmask2 webtbs/tw3157 webtbs/tw3160a webtbs/tw3160b webtbs/tw3160c webtbs/tw3161 webtbs/tw4100 In AArch64 the instruction for integer division never causes an exception, and floating-point arithmetic can only cause an exception if an optional part of the architecture is enabled; most hardware doesn't even have the option. Clearly the compiler could generate code to check for exceptions but it would be very inefficient when those exceptions are not required. I can't find an explicit statement in the documentation but this example suggests that exceptions from arithmetical operations are not required by the language definition: http://www.freepascal.org/docs-html/ref/refse101.html#x212-22200017.1 So, can those tests be disabled on AArch64, by adding { %skipcpu=aarch64 }? Edmund _______________________________________________ fpc-devel maillist - [email protected] http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
