Hi Richard, Thanks for the comments. Sorry, I was confused with handling the const and variable together part. Have modified them. Also, considered that both (X & Y) can be const or variable in those cases for which match patterns have been added. Please let me know whether its correct or only "Y" should be both const and variable whereas the "X" should be variable always. Please find attached the patch as per your comments. Please review the patch and let me know if any further modifications are required. Am learning lots of useful stuff while porting these patches. Thanks for all the help again. >> Looks like I really need to make 'match' handle these kind of things. I assume that its for bit ops, and binary operations like (A & B) and so on. Should I try doing that part? Also, how do we know which patterns should be const or variable or supports both? Thanks, Naveen