In CMOS, XOR is carried out like:

                     _____
                       |
                   ____|____
             _   _|        _|
             A-||_     A-||_
                 _|    _   _|
             B-||_     B-||_
                  |_________|
                       |____________OUT
                     __|___          
               _   _|     _|      
               A-||_  B-||_
                    |______|
                     __|___          
               _   _|     _|      
               B-||_  A-||_
                    |______|
                     __|__
                      -|-
This, of course, is A XOR B, expressed as:
 _             _
(A * B) + (A * B)

A B | OUT
0 0 |  0
0 1 |  1
1 0 |  1
1 1 |  0