Yes! Can anyone give an example on modern CPUs where being "undefined" is actually critical to perf on portability?https://twitter.com/0xabad1dea/status/679005753252970497 …
-
-
Replying to @ID_AA_Carmack
@ID_AA_Carmack Yes. If aliasing violations weren't UB the compiler would have to ins runtime aliasing chks everywhere or drop vectorization.1 reply 0 retweets 3 likes -
Replying to @RichFelker
@ID_AA_Carmack If data races weren't UB the compiler would have to put barriers around all loads and stores.1 reply 0 retweets 4 likes -
Replying to @RichFelker
@ID_AA_Carmack I can't believe we still need to explain this stuff to otherwise brilliant ppl like yourself and@hashbreaker.1 reply 0 retweets 0 likes -
Replying to @RichFelker
@RichFelker@hashbreaker I wouldn't argue races being UB, but having defined arithmetic semantics like Java is not a crazy thing to consider1 reply 0 retweets 0 likes -
Replying to @ID_AA_Carmack
@ID_AA_Carmack Defining the behavior of signed overflow eliminates the ability of automated tools to diagnose overflow errors.3 replies 0 retweets 0 likes
@ID_AA_Carmack It's because unsigned arith has well-defined (modular arith) behavior that ubsan, valgrind, etc. can't catch size overflows.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.