Morph (x GT_GT.unsigned 0) into (x GT_NE 0)
Morph (x GT_GT.unsigned 0) into (x GT_NE 0)

IL doesn't have a cne instruction so compilers use cgt.un instead. The JIT recognizes certain patterns that involve GT_NE (e.g (x & 4) != 0) and fails if GT_GT is used instead. Transform (x GT_GT.unsigned 0) into (x GT_NE 0) and (x GT_LE.unsigned 0) into (x GT_EQ 0). The later case is rare, it sometimes occurs as a result of branch inversion.

cmckinsey/coreclr,ragmani/coreclr,cmckinsey/coreclr,krk/coreclr,ragmani/coreclr,ruben-ayrapetyan/coreclr,YongseopKim/coreclr,krytarowski/coreclr,AlexGhiondea/coreclr,sagood/coreclr,alexperovich/coreclr,sjsinju/coreclr,alexperovich/coreclr,yizhang82/coreclr,parjong/coreclr,yizhang82/coreclr,hseok-oh/coreclr,dpodder/coreclr,cshung/coreclr,cmckinsey/coreclr,botaberg/coreclr,kyulee1/coreclr,alexperovich/coreclr,mmitche/coreclr,James-Ko/coreclr,qiudesong/coreclr,sagood/coreclr,JonHanna/coreclr,alexperovich/coreclr,rartemev/coreclr,qiudesong/coreclr,poizan42/coreclr,yeaicc/coreclr,qiudesong/coreclr,krytarowski/coreclr,JonHanna/coreclr,krytarowski/coreclr,gkhanna79/coreclr,botaberg/coreclr,tijoytom/coreclr,YongseopKim/coreclr,AlexGhiondea/coreclr,kyulee1/coreclr,sagood/coreclr,yeaicc/coreclr,rartemev/coreclr,James-Ko/coreclr,wateret/coreclr,russellhadley/coreclr,ruben-ayrapetyan/coreclr,sagood/coreclr,alexperovich/coreclr,kyulee1/coreclr,cshung/coreclr,poizan42/coreclr,wateret/coreclr,yeaicc/coreclr,krk/coreclr,YongseopKim/coreclr,cshung/coreclr,pgavlin/coreclr,krytarowski/coreclr,James-Ko/coreclr,AlexGhiondea/coreclr,krk/coreclr,botaberg/coreclr,ruben-ayrapetyan/coreclr,cydhaselton/coreclr,pgavlin/coreclr,wateret/coreclr,yeaicc/coreclr,mskvortsov/coreclr,rartemev/coreclr,dpodder/coreclr,James-Ko/coreclr,gkhanna79/coreclr,yizhang82/coreclr,jamesqo/coreclr,russellhadley/coreclr,sjsinju/coreclr,cshung/coreclr,hseok-oh/coreclr,krytarowski/coreclr,JosephTremoulet/coreclr,hseok-oh/coreclr,gkhanna79/coreclr,ruben-ayrapetyan/coreclr,JonHanna/coreclr,cmckinsey/coreclr,gkhanna79/coreclr,gkhanna79/coreclr,russellhadley/coreclr,JosephTremoulet/coreclr,tijoytom/coreclr,wtgodbe/coreclr,mskvortsov/coreclr,ragmani/coreclr,cmckinsey/coreclr,sjsinju/coreclr,tijoytom/coreclr,mmitche/coreclr,cshung/coreclr,gkhanna79/coreclr,ruben-ayrapetyan/coreclr,yizhang82/coreclr,pgavlin/coreclr,poizan42/coreclr,botaberg/coreclr,jamesqo/coreclr,YongseopKim/coreclr,rartemev/coreclr,dpodder/coreclr,tijoytom/coreclr,JosephTremoulet/coreclr,cydhaselton/coreclr,krk/coreclr,krk/coreclr,jamesqo/coreclr,kyulee1/coreclr,jamesqo/coreclr,wtgodbe/coreclr,sagood/coreclr,mmitche/coreclr,jamesqo/coreclr,sjsinju/coreclr,yeaicc/coreclr,ruben-ayrapetyan/coreclr,pgavlin/coreclr,mskvortsov/coreclr,krytarowski/coreclr,wateret/coreclr,mskvortsov/coreclr,YongseopKim/coreclr,kyulee1/coreclr,cmckinsey/coreclr,parjong/coreclr,poizan42/coreclr,JosephTremoulet/coreclr,wtgodbe/coreclr,AlexGhiondea/coreclr,russellhadley/coreclr,pgavlin/coreclr,cydhaselton/coreclr,JonHanna/coreclr,parjong/coreclr,sagood/coreclr,hseok-oh/coreclr,pgavlin/coreclr,wtgodbe/coreclr,parjong/coreclr,wateret/coreclr,cmckinsey/coreclr,mmitche/coreclr,ragmani/coreclr,AlexGhiondea/coreclr,cshung/coreclr,qiudesong/coreclr,russellhadley/coreclr,cydhaselton/coreclr,tijoytom/coreclr,sjsinju/coreclr,jamesqo/coreclr,hseok-oh/coreclr,yeaicc/coreclr,YongseopKim/coreclr,yizhang82/coreclr,mmitche/coreclr,sjsinju/coreclr,wateret/coreclr,krk/coreclr,mskvortsov/coreclr,poizan42/coreclr,James-Ko/coreclr,mmitche/coreclr,dpodder/coreclr,ragmani/coreclr,russellhadley/coreclr,James-Ko/coreclr,botaberg/coreclr,cydhaselton/coreclr,dpodder/coreclr,rartemev/coreclr,qiudesong/coreclr,mskvortsov/coreclr,JonHanna/coreclr,yizhang82/coreclr,JonHanna/coreclr,rartemev/coreclr,alexperovich/coreclr,parjong/coreclr,kyulee1/coreclr,wtgodbe/coreclr,botaberg/coreclr,AlexGhiondea/coreclr,dpodder/coreclr,JosephTremoulet/coreclr,cydhaselton/coreclr,qiudesong/coreclr,poizan42/coreclr,JosephTremoulet/coreclr,tijoytom/coreclr,hseok-oh/coreclr,wtgodbe/coreclr,parjong/coreclr,yeaicc/coreclr,ragmani/coreclr