In reply to Taher Anaya:
What you wrote does not work because there is no way to get 100% coverage. Each coverpoint creates four bins for x equals 0,1,2,3 for a total of 12 bins. But you cannot hit the bin x = 3 for coverpoint x_ls_y, nor can you hit the bin x=0 for coverpoint x_lg_y. The highest coverage you can get is 10/12 = 83.33%.
If you want all permutations of x and y you can concatenate them together or use a cross
covergroup cg;
x_concat_y : coverpoint {x,y};
x_cross_y : cross x,y; // same as above
endgroup : cg
If your intent is really to cover just three distinct cases, then you would write
covergroup cg;
x_ls_y : coverpoint x < y { bins true = {1}; }
x_eq_y : coverpoint x == y { bins true = {1}; }
x_lg_y : coverpoint x > y { bins true = {1}; }
endgroup : cg