https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82183
Bug ID: 82183 Summary: gcc.dg/sancov/cmp0.c fails on aarch64 Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: sanitizer Assignee: unassigned at gcc dot gnu.org Reporter: sje at gcc dot gnu.org CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org, jakub at gcc dot gnu.org, jakub at redhat dot com, kcc at gcc dot gnu.org, marxin at gcc dot gnu.org Target Milestone: --- Target: aarch64 The new test, gcc.dg/sancov/cmp0.c, is failing on aarch64. The failures I get are: FAIL: gcc.dg/sancov/cmp0.c -O0 scan-tree-dump-times optimized "__builtin___s anitizer_cov_trace_const_cmp" 7 FAIL: gcc.dg/sancov/cmp0.c -O0 scan-tree-dump-times optimized "__builtin___s anitizer_cov_trace_switch \\(" 2 FAIL: gcc.dg/sancov/cmp0.c -O0 -g scan-tree-dump-times optimized "__builtin_ __sanitizer_cov_trace_const_cmp" 7 FAIL: gcc.dg/sancov/cmp0.c -O0 -g scan-tree-dump-times optimized "__builtin_ __sanitizer_cov_trace_switch \\(" 2 When I look at the cmp0.c.229t.optimized file I see 23 calls to __builtin___sanitizer_cov_trace_const_cmp[1248] and no calls to __builtin___sanitizer_cov_trace_switch. I think GCC on aarch64 turned the switch statement into a series of if's. I am not sure if any other platforms are affected by this.