oneDNN icon indicating copy to clipboard operation
oneDNN copied to clipboard

Handle code paths that are assuming Linux just because __GNUC__ is defined

Open hmartinez82 opened this issue 1 year ago • 2 comments

Description

Handle code paths that are assuming Linux just because __GNUC__ is defined.

Fixes #1803

Checklist

General

  • [x] Do all unit and benchdnn tests (make test and make test_benchdnn_*) pass locally for each commit?

  • [x] Have you formatted the code using clang-format?

  • [x] Have you included information on how to reproduce the issue (either in a github issue or in this PR)?

hmartinez82 avatar Feb 13 '24 09:02 hmartinez82

Unit tests output:

Hernan@ARM64-VM CLANGARM64 /c/Dev/Github/oneDNN/build
$ ninja test
[0/1] Running tests...Test project C:/Dev/Github/oneDNN/build
        Start   1: cpu-bnorm-u8-via-binary-postops-cpp
  1/161 Test   #1: cpu-bnorm-u8-via-binary-postops-cpp .....................   Passed    0.05 sec
        Start   2: cpu-cnn-inference-f32-c
  2/161 Test   #2: cpu-cnn-inference-f32-c .................................   Passed    0.09 sec
        Start   3: cpu-cnn-inference-f32-cpp
  3/161 Test   #3: cpu-cnn-inference-f32-cpp ...............................   Passed    5.53 sec
        Start   4: cpu-cnn-inference-int8-cpp
  4/161 Test   #4: cpu-cnn-inference-int8-cpp ..............................   Passed    0.17 sec
        Start   5: cpu-cnn-training-bf16-cpp
  5/161 Test   #5: cpu-cnn-training-bf16-cpp ...............................   Passed    0.09 sec
        Start   6: cpu-cnn-training-f32-cpp
  6/161 Test   #6: cpu-cnn-training-f32-cpp ................................   Passed    0.54 sec
        Start   7: cpu-cnn-training-f32-c
  7/161 Test   #7: cpu-cnn-training-f32-c ..................................   Passed    1.06 sec
        Start   8: cpu-rnn-inference-f32-cpp
  8/161 Test   #8: cpu-rnn-inference-f32-cpp ...............................   Passed    0.12 sec
        Start   9: cpu-rnn-inference-int8-cpp
  9/161 Test   #9: cpu-rnn-inference-int8-cpp ..............................   Passed    0.05 sec
        Start  10: cpu-getting-started-cpp
 10/161 Test  #10: cpu-getting-started-cpp .................................   Passed    0.03 sec
        Start  11: cpu-graph-getting-started-cpp
 11/161 Test  #11: cpu-graph-getting-started-cpp ...........................   Passed    0.06 sec
        Start  12: cpu-graph-inference-int8-cpp
 12/161 Test  #12: cpu-graph-inference-int8-cpp ............................   Passed    0.10 sec
        Start  13: cpu-graph-single-op-partition-cpp
 13/161 Test  #13: cpu-graph-single-op-partition-cpp .......................   Passed    0.05 sec
        Start  14: cpu-matmul-perf-cpp
 14/161 Test  #14: cpu-matmul-perf-cpp .....................................   Passed   15.64 sec
        Start  15: cpu-memory-format-propagation-cpp
 15/161 Test  #15: cpu-memory-format-propagation-cpp .......................   Passed    0.05 sec
        Start  16: cpu-performance-profiling-cpp
 16/161 Test  #16: cpu-performance-profiling-cpp ...........................   Passed    1.09 sec
        Start  17: cpu-primitives-augru-cpp
 17/161 Test  #17: cpu-primitives-augru-cpp ................................   Passed    0.03 sec
        Start  18: cpu-primitives-batch-normalization-cpp
 18/161 Test  #18: cpu-primitives-batch-normalization-cpp ..................   Passed    0.05 sec
        Start  19: cpu-primitives-binary-cpp
 19/161 Test  #19: cpu-primitives-binary-cpp ...............................   Passed    0.04 sec
        Start  20: cpu-primitives-concat-cpp
 20/161 Test  #20: cpu-primitives-concat-cpp ...............................   Passed    0.04 sec
        Start  21: cpu-primitives-convolution-cpp
 21/161 Test  #21: cpu-primitives-convolution-cpp ..........................   Passed    0.04 sec
        Start  22: cpu-primitives-eltwise-cpp
 22/161 Test  #22: cpu-primitives-eltwise-cpp ..............................   Passed    0.04 sec
        Start  23: cpu-primitives-group-normalization-cpp
 23/161 Test  #23: cpu-primitives-group-normalization-cpp ..................   Passed    0.34 sec
        Start  24: cpu-primitives-inner-product-cpp
 24/161 Test  #24: cpu-primitives-inner-product-cpp ........................   Passed    0.24 sec
        Start  25: cpu-primitives-layer-normalization-cpp
 25/161 Test  #25: cpu-primitives-layer-normalization-cpp ..................   Passed    0.04 sec
        Start  26: cpu-primitives-lrn-cpp
 26/161 Test  #26: cpu-primitives-lrn-cpp ..................................   Passed    0.04 sec
        Start  27: cpu-primitives-lstm-cpp
 27/161 Test  #27: cpu-primitives-lstm-cpp .................................   Passed    0.03 sec
        Start  28: cpu-primitives-matmul-cpp
 28/161 Test  #28: cpu-primitives-matmul-cpp ...............................   Passed    0.04 sec
        Start  29: cpu-primitives-pooling-cpp
 29/161 Test  #29: cpu-primitives-pooling-cpp ..............................   Passed    0.03 sec
        Start  30: cpu-primitives-prelu-cpp
 30/161 Test  #30: cpu-primitives-prelu-cpp ................................   Passed    0.05 sec
        Start  31: cpu-primitives-reduction-cpp
 31/161 Test  #31: cpu-primitives-reduction-cpp ............................   Passed    0.04 sec
        Start  32: cpu-primitives-reorder-cpp
 32/161 Test  #32: cpu-primitives-reorder-cpp ..............................   Passed    0.04 sec
        Start  33: cpu-primitives-resampling-cpp
 33/161 Test  #33: cpu-primitives-resampling-cpp ...........................   Passed    0.04 sec
        Start  34: cpu-primitives-shuffle-cpp
 34/161 Test  #34: cpu-primitives-shuffle-cpp ..............................   Passed    0.19 sec
        Start  35: cpu-primitives-softmax-cpp
 35/161 Test  #35: cpu-primitives-softmax-cpp ..............................   Passed    0.03 sec
        Start  36: cpu-primitives-sum-cpp
 36/161 Test  #36: cpu-primitives-sum-cpp ..................................   Passed    0.04 sec
        Start  37: cpu-rnn-training-f32-cpp
 37/161 Test  #37: cpu-rnn-training-f32-cpp ................................   Passed    0.89 sec
        Start  38: cpu-tutorials-matmul-matmul-quantization-cpp
 38/161 Test  #38: cpu-tutorials-matmul-matmul-quantization-cpp ............   Passed    0.04 sec
        Start  39: cpu-tutorials-matmul-sgemm-and-matmul-cpp
 39/161 Test  #39: cpu-tutorials-matmul-sgemm-and-matmul-cpp ...............   Passed    0.04 sec
        Start  40: cpu-tutorials-matmul-inference-int8-matmul-cpp
 40/161 Test  #40: cpu-tutorials-matmul-inference-int8-matmul-cpp ..........   Passed    0.04 sec
        Start  41: cpu-tutorials-matmul-weights-decompression-matmul-cpp
 41/161 Test  #41: cpu-tutorials-matmul-weights-decompression-matmul-cpp ...   Passed    0.08 sec
        Start  42: api-c
 42/161 Test  #42: api-c ...................................................   Passed    0.55 sec
        Start  43: test_batch_normalization
 43/161 Test  #43: test_batch_normalization ................................   Passed    0.78 sec
        Start  44: test_binary
 44/161 Test  #44: test_binary .............................................   Passed    0.88 sec
        Start  45: test_concat
 45/161 Test  #45: test_concat .............................................   Passed    0.74 sec
        Start  46: test_concurrency
 46/161 Test  #46: test_concurrency ........................................   Passed    0.83 sec
        Start  47: test_convolution_backward_data_f32
 47/161 Test  #47: test_convolution_backward_data_f32 ......................   Passed    8.87 sec
        Start  48: test_convolution_backward_weights_f32
 48/161 Test  #48: test_convolution_backward_weights_f32 ...................   Passed    8.85 sec
        Start  49: test_convolution_eltwise_forward_f32
 49/161 Test  #49: test_convolution_eltwise_forward_f32 ....................   Passed   10.63 sec
        Start  50: test_convolution_eltwise_forward_x8s8f32s32
 50/161 Test  #50: test_convolution_eltwise_forward_x8s8f32s32 .............   Passed    3.95 sec
        Start  51: test_convolution_forward_f32
 51/161 Test  #51: test_convolution_forward_f32 ............................   Passed    8.13 sec
        Start  52: test_convolution_forward_u8s8fp
 52/161 Test  #52: test_convolution_forward_u8s8fp .........................   Passed    0.87 sec
        Start  53: test_convolution_forward_u8s8s32
 53/161 Test  #53: test_convolution_forward_u8s8s32 ........................   Passed    0.88 sec
        Start  54: test_cross_engine_reorder
 54/161 Test  #54: test_cross_engine_reorder ...............................   Passed    0.72 sec
        Start  55: test_deconvolution
 55/161 Test  #55: test_deconvolution ......................................   Passed    1.08 sec
        Start  56: test_eltwise
 56/161 Test  #56: test_eltwise ............................................   Passed    0.92 sec
        Start  57: test_group_normalization
 57/161 Test  #57: test_group_normalization ................................   Passed    0.77 sec
        Start  58: test_iface_attr
 58/161 Test  #58: test_iface_attr .........................................   Passed    0.76 sec
        Start  59: test_iface_attr_quantization
 59/161 Test  #59: test_iface_attr_quantization ............................   Passed    0.74 sec
        Start  60: test_iface_binary_bcast
 60/161 Test  #60: test_iface_binary_bcast .................................   Passed    0.73 sec
        Start  61: test_iface_handle
 61/161 Test  #61: test_iface_handle .......................................   Passed    0.72 sec
        Start  62: test_iface_pd
 62/161 Test  #62: test_iface_pd ...........................................   Passed    0.72 sec
        Start  63: test_iface_pd_iter
 63/161 Test  #63: test_iface_pd_iter ......................................   Passed    0.73 sec
        Start  64: test_iface_primitive_cache
 64/161 Test  #64: test_iface_primitive_cache ..............................   Passed    0.73 sec
        Start  65: test_iface_runtime_dims
 65/161 Test  #65: test_iface_runtime_dims .................................   Passed    0.72 sec
        Start  66: test_iface_weights_format
 66/161 Test  #66: test_iface_weights_format ...............................   Passed    0.70 sec
        Start  67: test_iface_wino_convolution
 67/161 Test  #67: test_iface_wino_convolution .............................   Passed    0.71 sec
        Start  68: test_inner_product_backward_data
 68/161 Test  #68: test_inner_product_backward_data ........................   Passed    0.79 sec
        Start  69: test_inner_product_backward_weights
 69/161 Test  #69: test_inner_product_backward_weights .....................   Passed    1.18 sec
        Start  70: test_inner_product_forward
 70/161 Test  #70: test_inner_product_forward ..............................   Passed    0.80 sec
        Start  71: test_layer_normalization
 71/161 Test  #71: test_layer_normalization ................................   Passed    0.77 sec
        Start  72: test_lrn
 72/161 Test  #72: test_lrn ................................................   Passed    3.10 sec
        Start  73: test_matmul
 73/161 Test  #73: test_matmul .............................................   Passed    0.75 sec
        Start  74: test_persistent_cache_api
 74/161 Test  #74: test_persistent_cache_api ...............................   Passed    0.71 sec
        Start  75: test_pooling_backward
 75/161 Test  #75: test_pooling_backward ...................................   Passed    9.72 sec
        Start  76: test_pooling_forward
 76/161 Test  #76: test_pooling_forward ....................................   Passed   16.56 sec
        Start  77: test_prelu
 77/161 Test  #77: test_prelu ..............................................   Passed    0.75 sec
        Start  78: test_primitive_cache_mt
 78/161 Test  #78: test_primitive_cache_mt .................................   Passed    0.72 sec
        Start  79: test_reduction
 79/161 Test  #79: test_reduction ..........................................   Passed    0.73 sec
        Start  80: test_reorder
 80/161 Test  #80: test_reorder ............................................   Passed    1.39 sec
        Start  81: test_resampling
 81/161 Test  #81: test_resampling .........................................   Passed    0.76 sec
        Start  82: test_rnn_forward
 82/161 Test  #82: test_rnn_forward ........................................   Passed    0.72 sec
        Start  83: test_shuffle
 83/161 Test  #83: test_shuffle ............................................   Passed    0.73 sec
        Start  84: test_softmax
 84/161 Test  #84: test_softmax ............................................   Passed    0.85 sec
        Start  85: test_sum
 85/161 Test  #85: test_sum ................................................   Passed    3.68 sec
        Start  86: test_convolution_format_any
 86/161 Test  #86: test_convolution_format_any .............................   Passed    0.71 sec
        Start  87: test_gemm_bf16bf16bf16
 87/161 Test  #87: test_gemm_bf16bf16bf16 ..................................   Passed    0.71 sec
        Start  88: test_gemm_bf16bf16f32
 88/161 Test  #88: test_gemm_bf16bf16f32 ...................................   Passed    0.71 sec
        Start  89: test_gemm_f16
 89/161 Test  #89: test_gemm_f16 ...........................................   Passed    0.70 sec
        Start  90: test_gemm_f16f16f32
 90/161 Test  #90: test_gemm_f16f16f32 .....................................   Passed    0.70 sec
        Start  91: test_gemm_f32
 91/161 Test  #91: test_gemm_f32 ...........................................   Passed    3.64 sec
        Start  92: test_gemm_s8s8s32
 92/161 Test  #92: test_gemm_s8s8s32 .......................................   Passed    7.85 sec
        Start  93: test_gemm_s8u8s32
 93/161 Test  #93: test_gemm_s8u8s32 .......................................   Passed    0.72 sec
        Start  94: test_gemm_u8s8s32
 94/161 Test  #94: test_gemm_u8s8s32 .......................................   Passed    8.02 sec
        Start  95: test_gemm_u8u8s32
 95/161 Test  #95: test_gemm_u8u8s32 .......................................   Passed    0.72 sec
        Start  96: test_global_scratchpad
 96/161 Test  #96: test_global_scratchpad ..................................   Passed    0.70 sec
        Start  97: test_api
 97/161 Test  #97: test_api ................................................   Passed    0.75 sec
        Start  98: test_internals_env_vars_dnnl
 98/161 Test  #98: test_internals_env_vars_dnnl ............................   Passed    0.71 sec
        Start  99: test_internals_env_vars_onednn
 99/161 Test  #99: test_internals_env_vars_onednn ..........................   Passed    0.70 sec
        Start 100: test_internals
100/161 Test #100: test_internals ..........................................   Passed    0.71 sec
        Start 101: test_regression
101/161 Test #101: test_regression .........................................   Passed    0.71 sec
        Start 102: test_graph_c_api_add_op
102/161 Test #102: test_graph_c_api_add_op .................................   Passed    0.03 sec
        Start 103: test_graph_c_api_constant_cache
103/161 Test #103: test_graph_c_api_constant_cache .........................   Passed    0.04 sec
        Start 104: test_graph_c_api_filter
104/161 Test #104: test_graph_c_api_filter .................................   Passed    0.04 sec
        Start 105: test_graph_c_api_graph
105/161 Test #105: test_graph_c_api_graph ..................................   Passed    0.03 sec
        Start 106: test_graph_c_api_logical_tensor
106/161 Test #106: test_graph_c_api_logical_tensor .........................   Passed    0.03 sec
        Start 107: test_graph_c_api_op
107/161 Test #107: test_graph_c_api_op .....................................   Passed    0.03 sec
        Start 108: test_graph_cpp_api_constant_cache
108/161 Test #108: test_graph_cpp_api_constant_cache .......................   Passed    0.03 sec
        Start 109: test_graph_cpp_api_engine
109/161 Test #109: test_graph_cpp_api_engine ...............................   Passed    0.03 sec
        Start 110: test_graph_cpp_api_graph
110/161 Test #110: test_graph_cpp_api_graph ................................   Passed    0.03 sec
        Start 111: test_graph_cpp_api_logical_tensor
111/161 Test #111: test_graph_cpp_api_logical_tensor .......................   Passed    0.04 sec
        Start 112: test_graph_cpp_api_op
112/161 Test #112: test_graph_cpp_api_op ...................................   Passed    0.04 sec
        Start 113: test_graph_cpp_api_tensor
113/161 Test #113: test_graph_cpp_api_tensor ...............................   Passed    0.03 sec
        Start 114: test_graph_c_api_compile_usm_cpu
114/161 Test #114: test_graph_c_api_compile_usm_cpu ........................   Passed    0.05 sec
        Start 115: test_graph_c_api_compile_parametrized_usm_cpu
115/161 Test #115: test_graph_c_api_compile_parametrized_usm_cpu ...........   Passed    0.04 sec
        Start 116: test_graph_cpp_api_compile_usm_cpu
116/161 Test #116: test_graph_cpp_api_compile_usm_cpu ......................   Passed    0.05 sec
        Start 117: test_graph_cpp_api_partition_usm_cpu
117/161 Test #117: test_graph_cpp_api_partition_usm_cpu ....................   Passed    0.04 sec
        Start 118: test_graph_unit_interface
118/161 Test #118: test_graph_unit_interface ...............................   Passed    0.05 sec
        Start 119: test_graph_unit_fake
119/161 Test #119: test_graph_unit_fake ....................................   Passed    0.04 sec
        Start 120: test_graph_unit_dnnl_common
120/161 Test #120: test_graph_unit_dnnl_common .............................   Passed    0.04 sec
        Start 121: test_graph_unit_dnnl_constant_cache
121/161 Test #121: test_graph_unit_dnnl_constant_cache .....................   Passed    0.03 sec
        Start 122: test_graph_unit_dnnl_dnnl_infer_shape
122/161 Test #122: test_graph_unit_dnnl_dnnl_infer_shape ...................   Passed    0.04 sec
        Start 123: test_graph_unit_dnnl_dnnl_partition_impl
123/161 Test #123: test_graph_unit_dnnl_dnnl_partition_impl ................   Passed    0.04 sec
        Start 124: test_graph_unit_dnnl_fusion_info
124/161 Test #124: test_graph_unit_dnnl_fusion_info ........................   Passed    0.04 sec
        Start 125: test_graph_unit_dnnl_graph
125/161 Test #125: test_graph_unit_dnnl_graph ..............................   Passed    0.04 sec
        Start 126: test_graph_unit_dnnl_insert_ops
126/161 Test #126: test_graph_unit_dnnl_insert_ops .........................   Passed    0.04 sec
        Start 127: test_graph_unit_dnnl_internal_attrs
127/161 Test #127: test_graph_unit_dnnl_internal_attrs .....................   Passed    0.03 sec
        Start 128: test_graph_unit_dnnl_layout_id
128/161 Test #128: test_graph_unit_dnnl_layout_id ..........................   Passed    0.03 sec
        Start 129: test_graph_unit_dnnl_layout_propagator
129/161 Test #129: test_graph_unit_dnnl_layout_propagator ..................   Passed    0.04 sec
        Start 130: test_graph_unit_dnnl_logical_tensor
130/161 Test #130: test_graph_unit_dnnl_logical_tensor .....................   Passed    0.05 sec
        Start 131: test_graph_unit_dnnl_memory_planning
131/161 Test #131: test_graph_unit_dnnl_memory_planning ....................   Passed    0.04 sec
        Start 132: test_graph_unit_dnnl_op_executable
132/161 Test #132: test_graph_unit_dnnl_op_executable ......................   Passed    0.04 sec
        Start 133: test_graph_unit_dnnl_op_schema
133/161 Test #133: test_graph_unit_dnnl_op_schema ..........................   Passed    0.04 sec
        Start 134: test_graph_unit_dnnl_partition
134/161 Test #134: test_graph_unit_dnnl_partition ..........................   Passed    0.04 sec
        Start 135: test_graph_unit_dnnl_pass
135/161 Test #135: test_graph_unit_dnnl_pass ...............................   Passed    0.15 sec
        Start 136: test_graph_unit_dnnl_scratchpad
136/161 Test #136: test_graph_unit_dnnl_scratchpad .........................   Passed    0.04 sec
        Start 137: test_graph_unit_dnnl_subgraph_pass
137/161 Test #137: test_graph_unit_dnnl_subgraph_pass ......................   Passed    0.05 sec
        Start 138: test_graph_unit_dnnl_thread_local_cache
138/161 Test #138: test_graph_unit_dnnl_thread_local_cache .................   Passed    0.04 sec
        Start 139: test_graph_unit_dnnl_batch_norm_usm_cpu
139/161 Test #139: test_graph_unit_dnnl_batch_norm_usm_cpu .................   Passed    0.06 sec
        Start 140: test_graph_unit_dnnl_binary_op_usm_cpu
140/161 Test #140: test_graph_unit_dnnl_binary_op_usm_cpu ..................   Passed    0.12 sec
        Start 141: test_graph_unit_dnnl_bmm_usm_cpu
141/161 Test #141: test_graph_unit_dnnl_bmm_usm_cpu ........................   Passed    0.07 sec
        Start 142: test_graph_unit_dnnl_compiled_partition_usm_cpu
142/161 Test #142: test_graph_unit_dnnl_compiled_partition_usm_cpu .........   Passed    0.04 sec
        Start 143: test_graph_unit_dnnl_concat_usm_cpu
143/161 Test #143: test_graph_unit_dnnl_concat_usm_cpu .....................   Passed    0.05 sec
        Start 144: test_graph_unit_dnnl_conv_usm_cpu
144/161 Test #144: test_graph_unit_dnnl_conv_usm_cpu .......................   Passed    1.47 sec
        Start 145: test_graph_unit_dnnl_convtranspose_usm_cpu
145/161 Test #145: test_graph_unit_dnnl_convtranspose_usm_cpu ..............   Passed    0.28 sec
        Start 146: test_graph_unit_dnnl_dequantize_usm_cpu
146/161 Test #146: test_graph_unit_dnnl_dequantize_usm_cpu .................   Passed    0.04 sec
        Start 147: test_graph_unit_dnnl_eltwise_usm_cpu
147/161 Test #147: test_graph_unit_dnnl_eltwise_usm_cpu ....................   Passed    0.06 sec
        Start 148: test_graph_unit_dnnl_interpolate_usm_cpu
148/161 Test #148: test_graph_unit_dnnl_interpolate_usm_cpu ................   Passed    0.05 sec
        Start 149: test_graph_unit_dnnl_large_partition_usm_cpu
149/161 Test #149: test_graph_unit_dnnl_large_partition_usm_cpu ............   Passed    0.38 sec
        Start 150: test_graph_unit_dnnl_layer_norm_usm_cpu
150/161 Test #150: test_graph_unit_dnnl_layer_norm_usm_cpu .................   Passed    0.05 sec
        Start 151: test_graph_unit_dnnl_matmul_usm_cpu
151/161 Test #151: test_graph_unit_dnnl_matmul_usm_cpu .....................   Passed    1.56 sec
        Start 152: test_graph_unit_dnnl_pool_usm_cpu
152/161 Test #152: test_graph_unit_dnnl_pool_usm_cpu .......................   Passed    0.16 sec
        Start 153: test_graph_unit_dnnl_prelu_usm_cpu
153/161 Test #153: test_graph_unit_dnnl_prelu_usm_cpu ......................   Passed    0.05 sec
        Start 154: test_graph_unit_dnnl_quantize_usm_cpu
154/161 Test #154: test_graph_unit_dnnl_quantize_usm_cpu ...................   Passed    0.04 sec
        Start 155: test_graph_unit_dnnl_reduce_usm_cpu
155/161 Test #155: test_graph_unit_dnnl_reduce_usm_cpu .....................   Passed    0.10 sec
        Start 156: test_graph_unit_dnnl_reorder_usm_cpu
156/161 Test #156: test_graph_unit_dnnl_reorder_usm_cpu ....................   Passed    0.04 sec
        Start 157: test_graph_unit_dnnl_sdp_decomp_usm_cpu
157/161 Test #157: test_graph_unit_dnnl_sdp_decomp_usm_cpu .................   Passed    9.56 sec
        Start 158: test_graph_unit_dnnl_softmax_usm_cpu
158/161 Test #158: test_graph_unit_dnnl_softmax_usm_cpu ....................   Passed    0.05 sec
        Start 159: test_graph_unit_dnnl_typecast_usm_cpu
159/161 Test #159: test_graph_unit_dnnl_typecast_usm_cpu ...................   Passed    0.05 sec
        Start 160: test_graph_unit_utils
160/161 Test #160: test_graph_unit_utils ...................................   Passed    0.05 sec
        Start 161: noexcept-cpp
161/161 Test #161: noexcept-cpp ............................................   Passed    0.01 sec

100% tests passed, 0 tests failed out of 161

Total Test time (real) = 173.57 sec

hmartinez82 avatar Feb 13 '24 09:02 hmartinez82

+@jondea

vpirogov avatar Feb 14 '24 19:02 vpirogov

@jondea the root of the issue here is that there's a bunch of #ifdefs that just assume the OS is Linux if GNUC is defined. We can't do that with MinGW. This is mostly affecting the xbyak_aarch64 files because it seems that this code was never tested with a compiler that defines GNUC on Windows on ARM. Visual Studio is already taken care of by the absence of GNUC.

And there's one unit test that is failing to build with MinGW, in all architectures.

hmartinez82 avatar Feb 22 '24 09:02 hmartinez82

What I mean to say is that if the root of the issue is an OS difference, then fixing the root of the issue is to use OS ifdefs, not to add another, more specific compiler ifdef.

jondea avatar Feb 22 '24 09:02 jondea

I simplified the ifdefs with _WIN32 instead. All working. The code builds, for Windows on ARM with both MSVC and Clang. The unit tests are 100% passing in both builds. \o/

hmartinez82 avatar Feb 22 '24 22:02 hmartinez82

LGTM. Adding xbyak_arch64 maintainer @kawakami-k as this needs upstreaming there.

mgouicem avatar Mar 07 '24 12:03 mgouicem

@hmartinez82 Thank you for the PR. I'll feedback this PR into the original https://github.com/fujitsu/xbyak_aarch64

kawakami-k avatar Mar 08 '24 00:03 kawakami-k