Mat CV_32SC1 matrix addition has wrong results with OpenCV 4.7 on Mac M1 Pro

int main(int argc, char* argv[]){
  int a[2] = {-1, 0};
  cv::Mat b(1, 2, CV_32SC1, a);
  cout<<"b    : "<<b<<endl;
  cout<<"b+b+1: "<<b+b+1<<endl;
  cout<<"b+b  : "<<b+b<<endl;
  cout<<"b+b-1: "<<b+b-1<<endl;
  cout<<"b+b-2: "<<b+b-2<<endl;
  cout<<"b+b-3: "<<b+b-3<<endl;
  return 0;
}

The above code has the following result with OpenCV 4.7 on Mac M1 Pro. Only the result on the first and third rows are correct. Why? Also check the attached image.
Results are correct on Ubuntu and Windows.
Thanks in advance!

b    : [-1, 0]
b+b+1: [0, 1]    // expect [-1, 1]
b+b  : [-2, 0]
b+b-1: [-2, 0]   // expect [-3, -1]
b+b-2: [-3, -1]  // expect [-4, -2]
b+b-3: [-4, -2]  // expect [-5, -3]

Post an issue