How to make LLVM IR (SHIFT) in Clang to support complex data type

Hi, All

I want IR in Clang to such as SHIFT can support complex number.

I tried to write the following code:

complex data1;
complex data2 = data1 >> 4;
The Clang compiler said invalid operands in binary instructions.

I guess Clang do the data type check and report the error.

Can anyone help to explain how to make Clang support complex number for SHIFT IR?

Thanks a lot!

In this case, does the class complex support the shift operator? I suspect it does not. If it does then I suspect you have found a bug in Clang.

I am wondering why you need compiler support here. Could you not just add a shift operator to the class complex?